VBScriptで、文字コードが「UTF-8」形式のファイルを読み込む方法を解説します。
はじめに
以前、FileSystemObjectオブジェクトを使用して、テキストファイルを読み込む方法を解説しました。
しかし、この方法で文字コードがUTF-8となっているファイルを読み込むと、下記のように日本語部分が文字化けしてしまいます。
今回は、ADODBオブジェクトを使用して、文字コードがUTF-8となっているファイルでも文字化けせずに読み込む方法を説明します。
リンク
ソースコードと実行結果
サンプルのソースコードと実行結果になります。
このサンプルでは、ファイルの内容を一度に全行読み込んでいます。
Option Explicit
' 読み込むファイルのパス
Dim targetFile
targetFile = ".\Sample.txt"
' ADODBオブジェクトの作成
Dim ado
Set ado = CreateObject("ADODB.Stream")
' ストリームをオープン
ado.Open
' 読み込むファイルの形式(テキストファイル)
ado.Type = 2
' 文字コード
ado.Charset = "UTF-8"
' 改行コード(CRLF)
ado.LineSeparator = -1
' ファイルの内容をストリームに格納
ado.LoadFromFile targetFile
' ファイルの読み込み
Dim buf
buf = ado.ReadText(-1)
' ファイルの内容を表示
MsgBox(buf)
' ストリームをクローズ
ado.Close
' ADODBオブジェクトの破棄
Set ado = Nothing
こちらのサンプルを実行すると、下記のように文字コードがUTF-8のファイルでも文字化けせずに読み込むことが可能です。
記事は以上です。VBScriptでUTF-8形式のファイルを扱う際に参考にしてみて下さい。
コメント