7

最も専門的なサイトでさえそれが間違っているのを見るのは迷惑です。投稿されたテキストは読めないものに変わります。エンコーディングについての情報はあまりありません。そんな基本的なことを難しくしている問題について知りたいだけです。

  • HTTPエンコーディングは一部の文字を制限しますか?
  • ユーザーは、使用している文字セット/エンコーディングに関する情報を送信する必要がありますか?
  • すべてがそのままサーバーに到着すると仮定すると、エンコードが使用され、そのテキストを保存して問題が発生しますか?
  • それはブラウザの実装に関するものですか?
  • それを機能させるためにJavaScriptのトリックが必要ですか?

これに対する絶対的な解決策はありますか?限界があるかもしれませんが、StackOverflowはそれを機能させるようです。

4

1 に答える 1

8

スタック全体がエンコーディングを注意深く処理することを確認する必要があると思います。

  • さまざまな国際文字をサポートするWebページフォント(CSS)を指定します。
  • 正しいlang/charset HTMLタグ属性を指定し、ブラウザが正しいエンコーディングを使用していることを確認してください。
  • HTTPリクエストが、ヘッダーで指定された適切な文字セットで送信されていることを確認してください。
  • HTTPリクエストのコンテンツがWebリクエストハンドラで正しくデコードされていることを確認してください
  • ラテン文字のみをサポートするもの(一部のDBではデフォルト)ではなく、国際化に適したエンコーディング/照合(UTF-9 / UTF-16など)を使用してデータベース/データストアを構成します。

最初のいくつかは通常、選択したブラウザとWebフレームワークによって処理されますが、DBエンコーディングを台無しにするか、文字セットが制限されたフォントを使用すると、誰もあなたを救うことができなくなります。

于 2011-04-19T21:04:50.893 に答える