• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2005でUTF-8からshift_JISに変換する方法)

VB2005でUTF-8からshift_JISに変換する方法

このQ&Aのポイント
  • VB2005の初心者のための、UTF-8からshift_JISにデータ変換する方法を解説します。
  • XMLデータで日本語の項目が化けてしまう場合、VB2005を使ってshift_JISに変換することで解決できます。
  • 具体的には、XMLデータから特定の項目を抽出してログに出力する際に、文字化けが発生する問題に対処する方法です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Cmi
  • ベストアンサー率36% (132/364)
回答No.1

重要なのは、WriteLogFileの中身です。 どういう方法でログを出力しているのか補足してみてください。

noname#51596
質問者

補足

早速のお返事ありがとうございます。 ログを出力している部分は下記です。 Public Function WriteLogFile(Byval bText As String) As Boolean Dim LbRet As Boolean Dim strADR As String LbRet = True Try LogFile= IO.File.AppendText(Path) LogFile.WriteLine(bText) LogFile.Close() Catch ex As Exception LbRet = False End Try Return LbRet End Function Aシステム(既存)とBシステムの連携部分の開発をしていており、AシステムからUTF-8で送られてきたXMLデータをBシステム(VB2005で開発)で解析し、DB(SQLServer)に登録したり、画面に表示しようとしています。 視点が変わりますが、UTF-8で送られてきた日本語データをそのままSQLServerに登録したり、VB2005上で画面に表示することもできるのでしょうか。できるのであれば、コード変換しなくてすみます。 質問内容がずれてしまいましたが、上記内容についても何かご存知であれば教えていただければ幸いです。 よろしくお願い致します。

その他の回答 (2)

  • Cmi
  • ベストアンサー率36% (132/364)
回答No.3

読込んだ時点で化けているということでしょうか? それでしたら、読込み時もIO.StreamReaderで宣言時に文字コードを指定してみてください。

noname#51596
質問者

お礼

早速のお返事、本当にありがとうございます。 おっしゃるとおり、XMLデータを読み込む所が間違えていました。 System.Text.Encoding.UTF8.GetString で読み込み、 LogFile = New IO.StreamWriter(Path, True, System.Text.Encoding.GetEncoding("shift_jis")) で日本語で出力することができました。 初歩的な質問でしたが、本当にありがとうございました。

  • Cmi
  • ベストアンサー率36% (132/364)
回答No.2

他にも方法はあるかもしれませんが、私の場合は以下のようにしています。 Dim Writer As New IO.StreamWriter("C:\TestFile.txt"System.Text.Encoding.GetEncoding("Shift-JIS")) のように宣言し、 Writer.WriteLine(bText) で書き込めばできます。

noname#51596
質問者

お礼

遅くなりましたが、度々のお返事、本当にありがとうございます。 教えていただいたとおり下記でやってみましたが、化けたままでした。 Public LogFile As IO.StreamWriter LogFile = New IO.StreamWriter(Path, True, System.Text.Encoding.GetEncoding("Shift-JIS")) LogFile.WriteLine(bText) LogFile.Close() ちなみに、IO.StreamWriterの引数は3つですよね? 上記ソースはどこか間違っているのでしょうか。 度々申し訳ございませんが、もしお分かりでしたら教えていただけますか。 よろしくお願い致します。

関連するQ&A