0

私はこれらすべてのコードを使用しています:

// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt");

// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt", false, System.Text.Encoding.GetEncoding(1252));
' Dim objEscritor = New StreamWriter("C:\temp\salida_encoding.txt", True, System.Text.Encoding.Default)
// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt", true, System.Text.Encoding.ASCII);

しかし、どれも印刷用には機能しません

カンシオン

みんなでプリント

カンシン

どうすれば修正できますか?私は使っている

コンパクトなフレームワーク 3.5

手持ち用

4

2 に答える 2

2

を指定しないことで修正できますEncoding.ASCII。UTF-8は通常は良い方法ですが、もちろんファイルを読み取る内容によって異なります。基本的に、ASCIIにはアクセント付き文字はありませんU+007Eで停止します。

Encoding.GetEncoding(1252)ただし、Windows 1252には文字「ó」が含まれているため、機能することを期待しています。エンコーディングを指定しない場合のデフォルトと同じです。UTF-8を使用するためです。文字列に最初から正しいデータが含まれていることを確認しますか?ファイルの読み取りにも何を使用していますか?

于 2012-05-22T18:45:59.707 に答える
1

óASCII には、文字のサポートが含まれていません。やむを得ない理由がない限り、常に Unicode を使用する必要があります。

System.IO.StreamWriter file = new System.IO.StreamWriter(
    Path.Combine(AppSettings.Instance.Dpath, "notaventa.txt"), true, 
    System.Text.Encoding.UTF8);

あなたの質問とは関係ありません:Path.Combineファイルパスの構築には(明示的な文字列連結ではなく)使用する必要があります。先頭/末尾を含めるかどうかを決定するという頭痛の種がなくなります\

于 2012-05-22T18:51:59.323 に答える