RSS フィードに奇妙な文字が含まれているため、RSS フィードのデバッグを開始しました (文字の欠落グリフなど)。私は 2 つの優れた初心者用リソースから始めました。
- すべてのソフトウェア開発者が絶対に、積極的に Unicode と文字セットについて知っておく必要がある絶対最小値: http://www.joelonsoftware.com/articles/Unicode.html
- 文字セット/文字エンコードの問題: http://www.phpwact.org/php/i18n/charsets
RSS フィードに問題があると思われる理由は、ユーザーが MS Word ドキュメントをコピーしてサイトのテキストエリアに貼り付けており、PHP ページが特別な「Windows-1252」と互換性のない「iso-8859-1」文字セットを使用しているためです。 MS Word で使用される箇条書きやスマート クォートなどのエンコーディング。
だから私は問題を解決したいと思っています。私がする必要があるのは、ユーザー入力を受け取る/与えるページで「utf-8」の使用を開始することだけですか??. つまり、HEAD セクションで次のように設定します。
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
しかし、私がこの質問を提起している本当の理由は、ユーザー入力を格納する DB フィールドが " " にあり、それらを " "latin1_swedish_ci
に変換する必要があるかどうかを知りたいからです。utf8_general_ci
MySQL は実際には文字セットを気にしませんか? 大量のバイトが表示されるだけで、Latin として照合されたフィールドに Unicode を入力しても、Unicode として返されますよね? フィールドは FULLTEXT インデックスの一部であり、他のフィールドも照合を変更する必要があるため、フィールドを変更するのは面倒です。つまり、インデックスを削除して再構築する必要があります (大量の TEXT が含まれる場合、これは簡単な作業ではありません)。