6

データベース、テーブル、フィールドはすべて utf8mb4 を使用しています。絵文字記号をいくつかのフィールドにうまく保存できます。今、私は次のようなクエリを試みます:

SELECT * FROM userWHERE name=''

驚くべきことに、結果は「」などのフィールド名が異なるレコードです

mysql は絵文字文字列を長さで一致させますが、内容では一致させないようです。

その問題を解決するためのアイデアはありますか? どうもありがとう。

4

3 に答える 3

2

私のテーブルに次のコマンドを実行しました:

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

それで全部です。結果は正しいです。

于 2016-02-18T04:03:43.830 に答える
1

これを試して:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
于 2016-01-26T08:56:47.170 に答える
0

あなたのテーブルの照合順序は何ですか? utf8mb4 を使用しているため、utf8mb4_unicode_ci. それ以外の場合は、見ている問題が発生する可能性があります。さらに悪いことに、複数のレコードが返されることさえあります。

照合順序を設定するには、次を使用します。

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
于 2015-07-23T10:54:10.400 に答える