MySQLがUnicode文字を保存しないのはなぜですか?はい、それはまれな象形文字であり、ブラウザには表示されません。
UTF16はU+2B5EE
Warning: #1366 Incorrect string value: '\xF0\xAB\x97\xAE' for column 'ch' at row 1
この文字をMySQLに保存することは可能ですか?
MySQL
基本多言語面(0x0000
- 0xFFFF
)の文字のみをサポートします。
この飛行機ならあなたのキャラクターは出ています。
代わりに同義語を保存してみてください:)
アップデート:
MySQL 5.5.3
およびon(まだGAに移行していません)は、UTF8MB4
encodingを使用する場合、補助文字をサポートします。
最初に:あなたの声明
UTF16はU+2B5EEです
少し間違っています。U+2B5EE
はUnicodeコードポイントの表記であり、整数(抽象コード)であり、UTF16は文字セットエンコーディング(UTF-8と同様に可能なUnicodeエンコーディングの1つ)です。
さて、あなたがコードポイントを意味すると仮定するとU+2B5EE
、BMP(最初の64Kユニコードコードポイント)の外にあり、mysqlはそれらをほとんどまたはまったくサポートしていないようです。ですから、あなたは運が悪いのではないかと思います。
utf8mb4
この質問が投稿されてから、完全なUnicodeサポートを提供するエンコーディングをサポートするMySQL5.5.3がリリースされました。代わりにこの文字セットに切り替えるとutf8
、問題が解決します。
最近、MySQLからに切り替える方法に関する詳細なガイドを作成しutf8
utf8mb4
ました。そこでの手順に従うと、すべてが正しく機能するはずです。プロセスの個々のステップへの直接リンクは次のとおりです。
手順5を実行することで、問題を解決できると思います。これがお役に立てば幸いです。