VB6をいじっています。最近GoogleEarthという地図ソフトを楽しんでいますがこのソフトで使う拡張子がKMLというファイルをVB6でできないかと苦戦していますがなかなか思うように行きませんのでご存知の方がおられましたら教えてください。
現在の現象はGoogleEarthを使って作成したKMLファイルを使うとGoogleEarthで日本語を表示します。試しにこの内容をそのままNotePadにコピペしてGoogleEarthに読ませると日本語が化けてしまいます。
しかしNotePadで他の正しいKMLファイル(XML形式のもの)を消してからこの内容をコピペすると正しく表示されます。
しかしこのファイルにVBで日本語を書き加えようとするとファイルの段階で文字化けしてしまいます。(英数はOK)
なぜ正しく書き込めないのかわかりません。その理由、書き込む方法などご存知の方がおられましたらお願いします。
(直接VBに関係してないかもしれませんがVBで書き込むということで質問をご容赦ください)
>しかしこのファイルにVBで日本語を書き加えようとするとファイルの段階で文字化けしてしまいます。(英数はOK)
文字化けしてしまいます・・・。は解りますが、
文字コードは何で書き込みを行おうとしていますか?
↑これは、VB以前の話になりますが・・・。
元ファイルの文字コードを確認し、
書き込みを行おうとする文字コードを知れば解決の第一歩になるかと
>NotePadにコピペしてGoogleEarthに読ませると日本語が化けてしまいます。
ついでに・・・。
NodePadは文字コードを何で読み込もうとしているか解りますか?
ささ様、回答ありがとうございました。昨日質問を出した後どうも文字セットの問題かと気付きましたが今まで文字セットなど意識して作ったことがなく過去ログを調べたら魔界の仮面弁士様の下記のコードがありましたので試したらOKでした。不勉強で申し訳ありませんでした。
With CreateObject("ADODB.Stream") 'または With New ADODB.Stream
.Charset = "UTF-8"
.Open
.WriteText "I'm あいうえお."
.SaveToFile "C:\UTF8.TXT"
.Close
End With
ツイート | ![]() |