- - PR -
ダウンロードした文字がばける
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 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を指定したいのですが それに該当するものが見当たりません。 どこで指定すれば良いのか教えてください。 よろしくお願いします。 |
|
投稿日時: 2003-03-11 15:01
Encoding.GetEncoding("shift-jis")
と、EncodingクラスのGetEncodingメソッド(static)で、shift-JISのエンコーディングクラスが取得できます。 後はこのインスタンスのGetBytesメソッドを使えば、string型の文字列からshift-JISのbyte配列が得られます。 [ メッセージ編集済み 編集者: 一郎 編集日時 2003-03-11 15:05 ] |
|
投稿日時: 2003-03-11 15:10
>Encoding.GetEncoding("shift-jis")
>と、EncodingクラスのGetEncodingメソッド(static)で、shift-JISのエンコーディン>グクラスが取得できます。 >後はこのインスタンスのGetBytesメソッドを使えば、string型の文字列からshift-JIS >のbyte配列が得られます。 一郎さんレスありがとうございます。 そこでサンプルのコード上で具体的にどこにどのようにして 組み込みを行えば良いかをご教授していただけないでしょうか? 上記のサンプルコードで文字が化けるのは漢字・カナです。 度々申し訳ありませんがよろしくお願いします。 |
|
投稿日時: 2003-03-11 15:24
私、Response.ContentEncoding っての知りませんでした。
これ使えそうじゃないですか? Response.ContentEncoding = Encoding.GetEncoding("shift-jis") でだめですかね? その後は普通に Response.Write("あああ,いいい,ううう") などとやれば良さそうです。 |
|
投稿日時: 2003-03-11 16:12
度々すみません
Response.ContentEncoding = Encoding.GetEncoding("shift-jis") のEncodingは何のクラスメンバーなのでしょうか? このままだとコンパイルエラーになってしまいます。 |
|
投稿日時: 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 ] |
|
投稿日時: 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
