- - PR -
ASP.NET(VB) : CSVファイル出力時の文字化けを直したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-25 10:51
お世話になります.ASP.NET初心者です.
Accessからの検索結果(リスト)を一度ブラウザに表示させた後に, 同じリストを「CSVファイル」に出力させたら文字化けを起こしました(UNICODE?). S−JIS指定で出力させたいのですが・・・ どなたかにご教授頂きたく,宜しくお願い致します. ===== Dim DT As DATE = Now() Dim EDATE As String EDATE = DT.ToString("yyyymmddhhmmss") Dim CSVPATH As String = Server.MapPath("csvout/l_ki_st_selist_" & EDATE & ".csv") Dim ACCLOG As String = DateTime.Now & " , " & Request.ServerVariables("REMOTE_ADDR") & " , " & Request.ServerVariables("HTTP_REFERER") Dim csvWRITE As StreamWriter csvWRITE = File.AppendText(CSVPATH) ' '----- Header ----- csvWRITE.WriteLine(ACCLOG) csvWRITE.WriteLine(" ") csvWRITE.Write("ID") csvWRITE.Write(" , ") ・ ・ ・ [ メッセージ編集済み 編集者: yuki 編集日時 2004-02-25 10:52 ] | ||||
|
投稿日時: 2004-02-25 12:09
FileStreamを使ってファイルをオープンし、StreamWriterを明示的に作成します。 StreamWriterを作成する際にShift_JISのエンコーディングを指定してください。 | ||||
|
投稿日時: 2004-02-25 15:35
なちゃさま
早速の返信ありがとうございます. 以下の様に書き換えてみましたが, 「'Shift_JIS' は 'System.Text.Encoding' のメンバではありません」 とコンパイルエラーが出てしまいます. どこがおかしいのでしょうか?(初心者ゆえお許しください・・・) ===== Dim FS As New FileStream(CSVPATH,FileMode.Create) Dim csvWRITE As StreamWriter csvWRITE = New StreamWriter(FS,Encoding.Shift_JIS) csvWRITE = File.AppendText(CSVPATH) ' '----- Header ----- csvWRITE.WriteLine(ACC) csvWRITE.WriteLine(" ") csvWRITE.Write("ID") csvWRITE.Write(" , ") ・ ・ ・ | ||||
|
投稿日時: 2004-02-25 16:03
http://www.atmarkit.co.jp/bbs/phpBB/search.php
ここで、「キーワード」に「shift_jis」を入力し、 「会議室」を「Insider.NET」にして、「検索」ボタンをクリック | ||||
|
投稿日時: 2004-02-25 16:02
Encodingのヘルプを見てください。 Shift_JISというメンバはありません。 規定で用意されていないエンコーディングを取得するには、GetEncodingメソッドを使用します。 まあ、"Shift_JIS"と名前ででも指定して取得すればよいでしょう。 あるいは、Encoding.Defaultでもいいかもしれませんが、明示的に指定するほうが良いでしょう(これは場合にもよりますが)。 あ、あと、FileStreamでファイルをオープン云々て書きましたが、特にオプション指定がないのであれば、多分StreamWriterをファイル名をを指定して作成すればいけそうですね(Encodingの指定は必要です)。 # 「FileStreamで開くよりいい」といっているわけではありません、念のため。 | ||||
|
投稿日時: 2004-02-25 16:24
Jittaさま なちゃさま
再度早速のご返信ありがとうございます. 少し自分で解決する努力が足りないようでした.(^o^; 先ずはヘルプ・関連事項等を見て情報を収集したいと思います. さて,もう一頑張りします!! (どうしてもダメだったらまた舞い戻って来ます・・・) 追伸 皆さんご丁寧な対応で感謝しております.m(_ _)m |
1