• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーブレット(doGetメソッド内)でMySQLテーブル内を、)

サーブレットでMySQLテーブル内をCSVファイルとして出力する方法について

このQ&Aのポイント
  • サーブレット内でMySQLテーブルのデータをCSVファイルとして出力する方法を教えてください。
  • CSVファイルの出力時にBOM(バイトオーダーマーク)を追加する方法を知りたいです。
  • UTF-16LE形式のCSVファイルを正常に出力していますが、BOM有りで出力するにはどうすれば良いでしょうか。

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

  • ベストアンサー
  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

> out = response.getWriter(); の後辺りで、BOMを出力したら良いんじゃないでしょうか。 out.print("\uFEFF"); // BOM 出力。 テストしていませんが、こんな感じで、如何でしょう。

hiroasa21
質問者

お礼

「Yanch」様 お世話になっております ご回答通りに試したところ、 おかげ様をもちまして、 「BOMあり」の「UTF-16LE」タブ区切りテキストファイルとして、 CSVファイルを出力出来ました。 本当に助かりました。 ありがとうございました。 PS: なお、今からは、 逆に、 上記で出力したCSVファイルを、 クライアントPC内から、WWWサーバ(CentOS 5.5)内の MySQLテーブルに対して、アップロードする機能を追加予定です。   ↓ MySQL自体が、UTF-8には対応していますが、 残念ながら、UTF-16には未対応の為、 全て今から1つずつ以下の各調査をしながら開発予定です。 いったんWWWサーバにBinaryでアップロードしてから、 BOMを外して、 文字コードを、UTF-16LE(BOM無し)→UTF-8LE(BOM無し)に変換して、 最後に、MySQLインポートコマンド「LOAD DATA INFILE」を利用して、 MySQLテーブルに対して、アップロードする予定です。 出来るだけ、各調査につきましては、 ネットから探してこようと思っておりますが、 今回のように、見つけられなかった場合には、 また、「教えてgoo」でご質問させていただく機会もあるかと存じます。 また機会がございましたら、宜しくお願い致します。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A