サーバーからテキストファイルをダウンロードして、
iniファイルに書き込んでるのですが、
サーバー側がUTF-8になっています。
このままダウンロードすると文字化けしてしまうので、
変換したいのですがやり方がわかりません。
どなたか教えていただけませんでしょうか?
過去ログを拝見させていただき、UNICODEに変換とか・・?
いろいろやったのですがうまく行きません。
ちなみに今の記述はこんな感じです。
SaveFileName = "C:\【指定フォルダ】\" & t_code & "schooleName.txt"
DownloadFile = "http://【サーバー名】/" & t_code & "/name.text"
Ret = URLDownloadToFile(0, DownloadFile, SaveFileName, 1, 0)
DoEvents
LFileName = "C:\【指定フォルダ】\" & t_code & "schooleName.txt"
Set LFileSys = CreateObject("Scripting.FileSystemObject")
Set LFile = LFileSys.OpenTextFile(LFileName)
RecBuff = LFile.ReadLine
nameGet.Text = Mid(RecBuff, 8, 30)
If nameGet = "" Then
GoTo NextI
End If
VB6.0です。
よろしくお願いします。
FileSystemObjectで扱えるUnicodeは、UTF-8ではなく、
いわゆる UTF-16 と呼ばれるコード体系になっています。
UTF-8を扱うのであれば、ADODB.Streamオブジェクトや、
MSXML2.XMLHTTPオブジェクトを使うのが簡単でしょう。
前者は、このように使います。ローカルファイルが対象です。
Const adReadAll As Long = -1
With CreateObject("ADODB.Stream")
.Open
.Charset = "UTF-8"
.LoadFromFile "C:\UTF-8.TXT"
strUTF8 = .ReadText(adReadAll)
.Close
End With
一方、後者はこのように使います。 Web上のデータが対象です。
URL = "http://www.akatsukinishisu.net/kanji/genso/UTF-8.html"
With CreateObject("MSXML2.XMLHTTP.4.0")
.open "GET", URL, False
.send
strUTF8 = .responseText
End With
わかりました。
早速このコード勉強して使ってみます。
いつもありがとうございます。
ツイート | ![]() |