Windows2000上のWSHで
msgbox "<UTF-8もじれつ>"
と実行すると文字化けされたものが表示されます。
同じくテキストファイルへの書き出しの再にも
write (<UTF-8もじれつ>)
とした時点でエラーが発生します。
これは解決方法はあるのでしょうか?
どなたかご教示ください
> msgbox "<UTF-8もじれつ>"
> と実行すると文字化けされたものが表示されます。
質問の内容を、もう少し具体的にお願いします。
上の「もじれつ」なコードを、そのまま
実行しているわけでは無いでしょうしね。(^^;
まず、VBScriptの文字列は、内部で UCS-2/UTF-16として保持されています。
そのため、UTF-8なバイトデータを渡しても、利用できません。
それとも、ソースファイルがUTF-8という事でしょうか?
この場合でも、内部的にはUTF-16となりますが、フォントさえ
正しくインストールされていれば、文字化けはおきないと思いますよ。
とりあえず、当方で実験したサンプルをあげておきますので、
そちらの環境で、動作を確認してみてください。
(ソースコードと一緒に、画面イメージも入れてあります)
http://www.ocv.ne.jp/~oratorio/junk/Sample/33/MsgBoxUTF8.zip
当方環境では、Windows XPの場合とWindows 2000の場合とで、
アラビア語のように、右から左に流れる言語の表示に差がありますが、
文字化けという状態にはなっていませんでしたよ。
>質問の内容を、もう少し具体的にお願いします。
>上の「もじれつ」なコードを、そのまま
>実行しているわけでは無いでしょうしね。(^^;
議論のポイントを絞ろうと知恵を絞ってなるべく
簡潔に書いてみたつもりでした(^^;)
蛇足でしたね、すいません。
SQLサーバから抜いたデータをCSVに吐き出したかったのですが、
UTF-8の文字のみ化けて(もしくはエラーが発生)しまっていたので
質問をさせて頂いた次第です。
CSV自体及びソースがテキストファイル(s-jis)でしたのでエラーと成っておりました。
ありがとうございました。
ソース非常に参考となりました。
解決です
ツイート | ![]() |