コードを変換するには?


Nagasaki  2003-10-14 16:58:40  No: 109083

サーバーからテキストファイルをダウンロードして、
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です。
よろしくお願いします。


魔界の仮面弁士  2003-10-14 18:33:13  No: 109084

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


Nagasaki  2003-10-15 03:05:29  No: 109085

わかりました。
早速このコード勉強して使ってみます。
いつもありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加