当我从表中删除Ð时的名称 它删除所有那些包含D.的项目。 与许多特殊字符相同的情况,如何使用php在mysql中解决这个问题。
答案 0 :(得分:3)
这取决于您的整理,例如:
mysql> SELECT 'é'= 'e' COLLATE utf8_general_ci;
+-----------------------------------+
| 'é'= 'e' COLLATE utf8_general_ci |
+-----------------------------------+
| 1 |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> SELECT 'é'= 'e' COLLATE utf8_bin;;
+----------------------------+
| 'é'= 'e' COLLATE utf8_bin |
+----------------------------+
| 0 |
+----------------------------+
1 row in set (0.00 sec)
如果您愿意,可以按连接设置:
mysql> SET collation_connection=utf8_bin;
Query OK, 0 rows affected (0.02 sec)
mysql> SELECT 'é'= 'e';
+-----------+
| 'é'= 'e' |
+-----------+
| 0 |
+-----------+
1 row in set (0.00 sec)
mysql> SET collation_connection=utf8_general_ci;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT 'é'= 'e';
+-----------+
| 'é'= 'e' |
+-----------+
| 1 |
+-----------+
1 row in set (0.00 sec)
答案 1 :(得分:1)
将列整理更改为utf8_bin
。
请注意,这也会考虑D
和d
不同。
答案 2 :(得分:0)