`
aeoluswind
  • 浏览: 15929 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mysql字段的collation默认规则在多语言环境下的问题

阅读更多
mysql字段的collation默认规则在多语言环境下的问题
同事碰到的一个诡异问题,挺有意思的..开始以为是索引的问题,后来才发现是collation的问题

问题描述如下:
在mysql表keywords对keyword字段进行查询,SQL为
select * from keywords where keyword = 'latigos'
匹配出2条结果,但是2条结果的keyword字段是不一样的,分别是:
latigos、látigos
原因是DBA对mysql字段的collation规则默认是utf8_general_ci,表示字符串比对忽略大小写和音标,解决方案是修改成utf8_bin这个类型就可以精确匹配,关于这几种type的区别,详细见下面链接:
http://www.crtgen.com/2011/04/15/the-difference-between-utf8_general_ci-utf8_unicode_ci-utf8_bin/

分享到:
评论

相关推荐

    MySQL collation方法

    MySQL中的Collation是一种...此外,尽量使用与业务需求相符的字符集,比如对于处理多语言环境的系统,使用`utf8mb4`或`utf8`字符集配合相应`_bin`校对规则更为合适。这样不仅可以避免数据比较错误,还能提高查询效率。

    linux下设置mysql字符集为UTF-8以及mysql重启.docx

    这里的`default-character-set`定义了MySQL的默认字符集,`character-set-server`设置了服务器级别的字符集,而`collation-server`则指定了排序规则,`utf8_general_ci`是一种不区分大小写的排序规则,适用于大多数...

    mysql出现中文乱码解决

    MySQL数据库在处理中文字符时,有时会出现中文乱码的问题,这通常是由于字符编码设置不一致导致的。在本文中,我们将深入探讨这个问题,并提供一种解决方案——通过修改配置文件来解决MySQL中文乱码。 首先,我们...

    mysql乱码问题解决

    如果这些设定不符合实际需求,尤其是当涉及到多语言环境时,就容易出现乱码问题。 3. **客户端程序的连接设定问题**:比如通过PHP等编程语言连接数据库时,如果没有正确设置字符集,也会导致中文显示错误。 #### 二...

    MySQL中文编码设置

    UTF-8是一种支持多语言的Unicode编码方式,能够兼容全球大多数语言的文字,非常适合中文环境下的应用。 #### 三、MySQL中文编码问题分析 1. **客户端与服务器字符集不匹配**:当客户端连接到MySQL服务器时,如果...

    MySQL乱码解决方案数据库乱码

    - MySQL 4.1引入了更多字符集和校对规则(Collation),增强了对多种语言的支持。 - 支持包括`gbk`、`utf8`等多种字符集,可以更好地处理中文和其他非拉丁文字。 - MySQL 4.1系统预设支持UTF-8,但在恢复MySQL ...

    MySQL 5.0.16乱码问题的解决方法

    注意,这一步在Linux环境下是必要的,而在Windows环境下可能不需要,因为Windows默认支持GBK编码。 7. **数据库连接的字符集和校对**: 当建立数据库连接时,设置连接的字符集和校对也很关键。在MySQL中,可以...

    mysql数据库乱码问题.pdf

    MySQL数据库中的乱码问题是一个常见的技术难题,尤其在处理多语言环境或者跨平台的数据交互时。乱码通常出现在数据的存储、检索或者显示过程中,这可能是由于编码设置不一致所导致的。以下是一些关于如何解决MySQL...

    Mysql 中文乱码 最简单的解决办法

    GBK是针对中文的扩展GBK编码,而UTF-8是多语言通用的Unicode编码,能支持更多语言,但占用空间相对较大。 **步骤1:检查MySQL服务器字符集** 打开MySQL配置文件`my.cnf`(位置可能因系统而异,通常在`/etc/mysql/my...

    Mysql字符集

    ### MySQL字符集详解 在MySQL数据库管理中,正确地理解和设置字符集对于数据的准确存储和检索至关重要。...正确管理和调整字符集是维护数据库数据完整性和准确性的重要环节,特别是在多语言环境中尤为重要。

    MySQL 5.1中文手冊

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7....

    mysql中文乱码解决方案

    为了解决这个问题,我们需要从多个角度进行排查与解决,包括检查系统环境变量、MySQL配置文件、客户端连接参数以及数据表和字段的字符集设置等。 #### 1. 了解字符集的基础概念 - **字符集**:是一系列字符的集合...

    MySQL 5.1官方简体中文参考手册

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL ...

    MySQL 5.1参考手册

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7....

    MySQL 5.1参考手册 (中文版)

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7....

    MySQL 5.1参考手册中文版

    2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL ...

    mysql5.1中文手册

    在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装...

    Python库 | django-mysql-2.2.2.tar.gz

    2. ** CHARSET and COLLATION**: 允许你在模型级别指定字符集和排序规则,确保数据正确存储和检索。 3. **Model Methods**: 添加了一些方便的模型方法,例如`jsonb_get_path()`,用于在JSON字段中查询特定路径的值...

    mysql保存微信昵称特殊字符的方法

    在MySQL中保存微信昵称,特别是包含特殊字符如表情符号(Emoji)的昵称时,可能会遇到插入数据时报错的问题。这是因为MySQL的默认UTF-8字符集(实际上是`utf8`,并非完全标准的UTF-8)仅支持最多3字节的字符,而一些...

Global site tag (gtag.js) - Google Analytics