15

MySQLがUnicode文字を保存しないのはなぜですか?はい、それはまれな象形文字であり、ブラウザには表示されません。
UTF16はU+2B5EE

Warning: #1366 Incorrect string value: '\xF0\xAB\x97\xAE' for column 'ch' at row 1

この文字をMySQLに保存することは可能ですか?

4

3 に答える 3

14

MySQL基本多言語面(0x0000- 0xFFFF)の文字のみをサポートします。

この飛行機ならあなたのキャラクターは出ています。

代わりに同義語を保存してみてください:)

アップデート:

MySQL 5.5.3およびon(まだGAに移行していません)は、UTF8MB4encodingを使用する場合、補助文字をサポートします。

于 2010-04-22T15:45:51.903 に答える
2

最初に:あなたの声明

UTF16はU+2B5EEです

少し間違っています。U+2B5EEはUnicodeコードポイントの表記であり、整数(抽象コード)であり、UTF16は文字セットエンコーディング(UTF-8と同様に可能なUnicodeエンコーディングの1つ)です。

さて、あなたがコードポイントを意味すると仮定するとU+2B5EE、BMP(最初の64Kユニコードコードポイント)の外にあり、mysqlはそれらをほとんどまたはまったくサポートしていないようです。ですから、あなたは運が悪いのではないかと思います。

于 2010-04-22T15:46:58.160 に答える
1

utf8mb4この質問が投稿されてから、完全なUnicodeサポートを提供するエンコーディングをサポートするMySQL5.5.3がリリースされました。代わりにこの文字セットに切り替えるとutf8、問題が解決します。

最近、MySQLからに切り替える方法に関する詳細なガイドを作成しutf8utf8mb4ました。そこでの手順に従うと、すべてが正しく機能するはずです。プロセスの個々のステップへの直接リンクは次のとおりです。

手順5を実行することで、問題を解決できると思います。これがお役に立てば幸いです。

于 2012-08-07T06:57:38.947 に答える