< OracleのテーブルをAccessよりリンクすると・・・? | Sosumi >

September 21, 2003

ADOを使用してEUC-JPのファイルをShift_JISに変換する

EUCの文字コード変換を行う場合、NKF For Win32、またはNKF32.DLLを使用するのが一般的でしょう。

これはこれで、VBから使用するサンプルも多く、特に難しいと言うこともないのですが、ADOを使用可能なら、もっと簡単にできちゃいます。

サンプルはASPなのでVBScriptですがVBからもほぼ同じ。Server.CreateObjectをCreateObject関数に置き換えるか、参照設定して

    Set oEucStream = New ADODB.Stream
とすれば動かすことができます。

'//------------------------------------------------
'//	ConvertEucFile	:	EUC-JPのファイルをShift_JISに
'//						変換する
'//	psIFileName		:	[IN]	入力ファイル名(EUC)
'//	psOFileName		:	[IN]	出力ファイル名(Shift_JIS)
'//------------------------------------------------
Public Sub ConvertEucFile(psIFileName, psOFileName)
'============= Declare ==============
Const adSaveCreateOverWrite = 2
Dim oEucStream  'ADODB.Stream
Dim oSjisStream	'ADODB.Stream

'============= Main =================
    
    Set oEucStream = Server.CreateObject("ADODB.Stream")
    oEucStream.Charset = "EUC-JP"
    Call oEucStream.Open
    
    Set oSjisStream = Server.CreateObject("ADODB.Stream")
    oSjisStream.Charset = "Shift_JIS"
    Call oSjisStream.Open
    
    Call oEucStream.LoadFromFile(psIFileName)
    Call oEucStream.CopyTo(oSjisStream)
    
    Call oSjisStream.SaveToFile(psOFileName, adSaveCreateOverWrite)
    
'============= Release ==============
    Call oSjisStream.Close
    Call oEucStream.Close
    Set oSjisStream = Nothing
    Set oSjisStream = Nothing
    
End Sub

トラックバック

このエントリーにトラックバック:
http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/46

コメント

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?