ユーザーが MS Word で大量のテキストを作成し、それをオンライン フォームに貼り付けるという問題が発生しています。これらは、逆さまの ? として DB に入力されます。これらを標準の見積もりに置き換えるオプションは何ですか?
3 に答える
これらのスマート クォートは Unicode ポイントです。必要なのは単純な String.Replace だけです。
-編集- 次のようなもの:
mystring.Replace("\u201C","\"").Replace("\u201D","\"")
これらを標準の見積もりに置き換えるための私のオプションは何ですか?
最善のアプローチは、それらを置き換えないことです。人々は「スマートクォート」を使いたがっています。これらはMSWordにのみ存在する異常ではなく、完全に有効なUnicode文字であり、アプリケーションが非ASCII文字を正しく格納していない場合は、単なるスマートクォートよりも多くの問題が発生します。
すべてのWebページにUTF-8エンコーディングを使用し、コンテンツをUnicode対応のデータベースに保存します(たとえば、SQL Serverを使用している場合は、NVARCHARを使用します)。スマートクォートだけでなく、アクセントやその他のアルファベットもサポートします。
HtmlEncodeメソッドを使用して入力を実行する必要があります。このメソッドは、「 or 」から“
and”
に変換します。これにより、これらの文字やその他の上位文字を問題なく保存できる形式に保存できます。
ジョエルの投稿についてもう一度言及する必要がありますか?
すべてのソフトウェア開発者が絶対に、積極的に Unicode と文字セットについて知っておく必要がある絶対最小値 (言い訳はありません!)