【问题标题】:accented/non-accented characters in mySQL's varcharmySQL 的 varchar 中的重音/非重音字符
【发布时间】:2024-01-09 17:35:01
【问题描述】:

mySQL 是否将重音字符和非重音字符视为相同。例如“é”与“e”相同?

从下面这个简单的测试来看是这样的。

mysql> CREATE TABLE `ct` (`eid` varchar(255) NOT NULL, PRIMARY KEY (`eid`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.13 sec)

mysql> insert into ct values ('décor');
Query OK, 1 row affected (0.01 sec)

mysql> insert into ct values ('decor');
ERROR 1062 (23000): Duplicate entry 'decor' for key 'PRIMARY'

对于我的应用程序,“装饰”和“装饰”是 2 个不同的值。有人可以帮我解决它吗?

任何帮助都会很有用。

提前致谢。

【问题讨论】:

    标签: mysql internationalization character-encoding non-ascii-characters


    【解决方案1】:

    这取决于您为基础和表格定义的charset and the collation

    【讨论】: