CKEditor と呼ばれる JavaScript WYSIWYG テキスト エディターを使用しています。エディターには、ユーザーがテキスト エディターに入力した内容を HTML でマークアップするソース ビューがあります。
エディタがこのソース ビューに非改行スペース ( ) を挿入することがありますが、これは問題ありません。
すべてが開発マシンで正しく動作しているように見えたので、運用サーバーにデプロイしました。この時点で、奇妙な Â 文字 ( Â
) がテキストに挿入されているのが見え始めました。いくつか読んだ後、これが CKEditor バグ追跡ページのいくつかのチケットで報告されていることがわかりました。ckeditor.jscharset
のタグの属性を に設定することで問題を解決できました。script
UTF-8
私の質問は次のとおりです。なぜscript
タグcharset
は最初に属性を設定する必要があり、なぜ特定のシステムでのみ必要なのですか?
この SO の質問に対する最後のコメントでは、UTF-8 の改行なしスペースのバイト シーケンスは、実際には Â 文字の後に改行なしスペースが続くことに言及していますlatin1
(これは ISO-8859-1 ですよね?)。ユーザーがソース ビューに切り替えるたびに、次から次へと別の  文字が挿入されるため、これは間違いなく手がかりになる可能性があります。 
CKEditor フレームワークが非改行スペースを挿入しようとしているかのようですが、それは、次になどに変わり 
ます。すべてのcontent-type
システム (Chrome デバッガーから表示) はtext/html;charset=ISO-8859-1
で、理由はわかりません。すべての Tomcat 構成の Dfile.encoding オプションは に設定されていutf-8
ます。タグmeta
も.<meta charset="utf-8">