1

これが私の状況であり、私が見たどの投稿でもこれに対する答えが見つかりませんでした. 私が取り組んでいるアプリでは、アップロードする .csv ファイルをユーザーが選択できますが、á、é、ñ、õ などのスペイン語とポルトガル語の文字は、「?」が付いた黒いひし形として表示されます。初期化。ここで、.csv ファイルが UTF-8 形式で保存されていることを確認しましたが、次のコード フラグメントが実行されると:

using (StreamReader objStreamReader = new StreamReader(p_strFilename, Encoding.UTF8))
{
     string strLine;
     while ((strLine = objStreamReader.ReadLine()) != null && lstErrors.Count <= _MAX_ERRORS)

strLine には、「?」が付いたブラック ダイヤモンドが含まれます。ReadLine() の実行後に特殊文字を配置する必要があります。私の .csv ファイルは UTF-8 として検証されており、StreamReader は UTF-8 を想定していることに注意してください。そのため、特殊文字が正しく表示されないのはなぜですか? 誰かがこれについて洞察を持っているなら、あなたの答えは大歓迎です。

ありがとう。ジム B.

4

1 に答える 1

1

ユーザーが aspx ページの文字エンコーディングで問題を経験しているようです。デフォルトでは、ローカル ブラウザはローカルの文字セットを使用します (理にかなっていますよね?)。ソース データが別の文字セット/エンコーディングを使用している場合は、ページにメタ タグを追加して、ブラウザがデータを正しく表示できるようにすることができます。Microsoft のページから:  Globalization Step-by-Step :

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=">
サポートされている文字セットのわかりやすい名前 (UTF-8 など) または任意のコード ページ名 (たとえば、 、Windows 1251)。

このトピックに関する詳細情報を探すのに適したその他の場所は次のとおりです。

ASP および ASP.NET におけるグローバリゼーションの問題
HTTP 文字セット パラメータの設定

于 2012-11-13T21:37:37.770 に答える