- ベストアンサー
ASP.Net全角文字コードによるCSVファイルの出力方法
- ASP.NetのObjectDataSourceを使用してCSVファイルにデータを出力する方法について説明します。
- CSVファイルを直接Excelで開く際に、全角文字が正しく表示されない問題が発生します。
- この問題を解決するためには、適切な文字コードでCSVファイルを出力する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
CSVファイルから直接Excel開いて読み込むときは、、、たしかShift-JISじゃないといけなかったよーな。 もしかするとExcelのバージョンにもよるかもしれませんが。 で、ASP.NETはデフォルトではUTF-8でHTMLを生成してたと思います。 Response.Writeで出力しているので、HTML生成時の文字コードの変更が必要ですね。 web.configのglobalizationでresponseEncodingの設定をShift-JISに変えましょう。 注意するところとしては、システム全体をShift-JISとして出力していいかどうか、というあたりかな。
その他の回答 (1)
- onos
- ベストアンサー率81% (127/155)
cultureとかういCultureとかほんとにこれでいいんですか?意味わかってます? あと、requestEncodingとresponseEncodingで文字コード異なると、、、まぁ、いろいろ さわってたら気付くかな? > システムがWindows 環境で使用される前提で、【システム全体をShift-JISとして > 出力していいかどうか】 につきまして、何か問題になるような事がございますでしょうか? 普通はないと思います。 が、このような設定が仕様としてはたして正しいのかどうかはこちらではわかりませんから。
お礼
onosさん 大変お世話になっております。 正直文字コードにつきましては、今まで Shift-JIS しか扱ったことがなく、それ以外の文字コードにつきましては、まるでわからない状態でした。 ASP.NETで初めて、文字コードの多様性と重要性がわかりました。 requestEncoding の方も、Shift-JIS にしたいと思います。 また何か壁に当たった時にご教授いただければと存じます。 ありがとうございました。
補足
onosさん 大変お世話になっております。 ご指摘の通り、 <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="Shift-JIS" culture="en-US" uiCulture="de-DE" /> 上記を web.config に記載したところ、出力されたCSVファイルを直接Excelから問題なく開くことができました。 本当にありがとうございました。 システムがWindows 環境で使用される前提で、【システム全体をShift-JISとして出力していいかどうか】 につきまして、何か問題になるような事がございますでしょうか?