@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ダウンロードした文字がばける

1
投稿者投稿内容
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-11 14:20
Response.Clear()
Response.ContentEncoding = New System.Text.UTF8Encoding()
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "inline;filename=AAA.csv;")
Response.Write("あああ,いいい,ううう")
Response.End()

とやってcsvにはきだしているのですが
文字が化けています。
encodingにShift_JISを指定したいのですが
それに該当するものが見当たりません。
どこで指定すれば良いのか教えてください。
よろしくお願いします。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-11 15:01
Encoding.GetEncoding("shift-jis")
と、EncodingクラスのGetEncodingメソッド(static)で、shift-JISのエンコーディングクラスが取得できます。

後はこのインスタンスのGetBytesメソッドを使えば、string型の文字列からshift-JISのbyte配列が得られます。

[ メッセージ編集済み 編集者: 一郎 編集日時 2003-03-11 15:05 ]
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-11 15:10
>Encoding.GetEncoding("shift-jis")
>と、EncodingクラスのGetEncodingメソッド(static)で、shift-JISのエンコーディン>グクラスが取得できます。
>後はこのインスタンスのGetBytesメソッドを使えば、string型の文字列からshift-JIS
>のbyte配列が得られます。

一郎さんレスありがとうございます。
そこでサンプルのコード上で具体的にどこにどのようにして
組み込みを行えば良いかをご教授していただけないでしょうか?
上記のサンプルコードで文字が化けるのは漢字・カナです。
度々申し訳ありませんがよろしくお願いします。

一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-11 15:24
私、Response.ContentEncoding っての知りませんでした。
これ使えそうじゃないですか?

Response.ContentEncoding = Encoding.GetEncoding("shift-jis")

でだめですかね?
その後は普通に
Response.Write("あああ,いいい,ううう")
などとやれば良さそうです。
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-11 16:12
度々すみません
Response.ContentEncoding = Encoding.GetEncoding("shift-jis")
のEncodingは何のクラスメンバーなのでしょうか?
このままだとコンパイルエラーになってしまいます。

一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-11 17:32
Encodingはクラスです。

ヘルプは見られない環境ですか?
ContentEncodingプロパティの型としておもいっきり「As Encoding」と書いてありますが。

よねちんさんの使っているSystem.Text.UTF8EncodingもEncodingクラスの子です。

多分ネームスペースの問題でしょう。
System.Text.Encoding
と、省略しないで書くか、VB.NETであればImports文を
Imports System.Text
とソースの先頭に書くと、多分使えるようになります。

[ メッセージ編集済み 編集者: 一郎 編集日時 2003-03-11 17:33 ]
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-11 18:43
ありがとうございました。
以下のコードで文字もばけもせず正常に
ダウンロードできました。

Response.Clear()
Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis")Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "inline;filename=AAA.csv;")
Response.Write("あああ,いいい,ううう")
Response.End()

1

スキルアップ/キャリアアップ(JOB@IT)