ホームページ >データベース >mysql チュートリアル >MySQL データベースは絵文字表現と特殊記号を保存します

MySQL データベースは絵文字表現と特殊記号を保存します

步履不停
步履不停オリジナル
2019-06-21 16:09:044681ブラウズ

MySQL データベースは絵文字表現と特殊記号を保存します

utf8mb4 とは:

  1. MySQL はバージョン 5.5.3 以降にこの utf8mb4 エンコーディングを追加しました。具体的には、mb4 はほとんどのバイト数 4 を意味します。 4 バイトの Unicode と互換性があるように設計されています。実際、utf8mb4 は utf8 のスーパーセットです。

解決策:

  1. エンコードされた文字セットを表示します:
    • SHOW VARIABLES WHERE Variable_name LIKE '文字 \_set\_%' OR 変数名 LIKE 'collat​​ion%';
    • 結果が下図の場合、「特殊記号が保存できない理由は、この記事とこの記事で解決するかもしれません。「あなたの質問には答えられません」;
      MySQL 数据库保存 Emoji 表情及特殊符号
    • 結果の value フィールドが上の図と異なる場合この記事を読み続けてください;
  2. データベース エンコーディングの変更:
    • ALTER DATABASE データベース CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;;
  3. データ テーブル エンコーディングの変更:
    • ALTER TABLE table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;;
  4. テーブルのフィールド エンコーディングを次のように変更します。
    • ALTER TABLE table CHANGE column column VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;;
  5. my.ini ファイルを開き、次の内容を追加または変更します:
    [client]
    default-character-set = utf8mb4
    [mysql]
    default-character-set = utf8mb4
    [mysqld]
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
  6. RestartMysql:
    • service mysqld restart;
  7. #エンコードされた文字をもう一度表示します。結果が上の図と一致する場合は、完了です~

MySQL 関連の技術記事の詳細については、 「MySQL チュートリアル」 列で学習してください。

以上がMySQL データベースは絵文字表現と特殊記号を保存しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。