mysql utf8 latin,重复键输入失败

标签 mysql utf-8 character-encoding

我刚刚收到一个 SQL 插入脚本,但它在重复键输入时失败了:

我正在尝试插入:

1)蒙大拿

2)蒙大拿

我的表都是utf8_spanish2_ci,

谁能解释为什么会这样?

最佳答案

utf8_spanish2_ci collation确实不仅不区分大小写,而且部分不区分重音,所以 ñ = n.(正如 Joni Salonen 指出的那样,这是不正确的! ) 但 á = a

据我所知,除了 utf8_bin 之外,没有具有此“功能”的排序规则。

你可以做什么:

  • 对表使用二进制排序规则(尽管 other problems 附带)
  • 对特定 使用二进制排序规则(可能是您最好的选择)
  • 使用不同的列作为键列 - 您确定该列首先需要是唯一键吗?如果这是主键,数字自动递增不是更适合吗?

关于mysql utf8 latin,重复键输入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702432/

相关文章:

php - 根据所做的选择选择框加载

Mysql 多对多关系

php - MySQL 到 PostgreSQL 编码问题

mysql - 在mysql数据库中保存表情符号字符

Javascript编码打破和组合多字节字符?

mysql - Maven GAE 插件 + Google Cloud SQL 出错

MySQL 用可变数字搜索/替换

c++ - 使用ICU将UTF-8转换为UCS2导致乱码

python - 在 Python 中处理 UTF-8 数字

java - 如何处理 Java 中的字符集差异