MySQL中的utf8中文排序的解决方案

在MySQL中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。解决方案如下:1、不想

在MySQL中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。

解决方案如下:

1、不想改变表定义及默认编码的情况,将字段先转换成gbk编码再排序:

SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;

前提是在安装MySQL时安装了gbk字符集,不然会报错:

#1115 – Unknown character set: ‘gbk’

在编译源码时加上gbk编码即可,如果已经安装好了,重新编译再安装,重新编译安装一般不会影响MySQL的已有设置,,包括数据都不会受到影响。

2、直接将字段的字符集改成gbk,然后直接使用order by 排序即可。

MySQL 5.x支持某列单独定义字符集。

3、网上也有人说将字段定义加上binary属性也能达到效果,未作测试,不敢评论。

MySQL的文档中也提到字符集校对规则:

SELECT * FROM t1 ORDER BY a COLLATE utf8_bin;

但此仅仅只影响校对规则,并不影响字符的字符集本身。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1967209.html

(0)
上一篇 2025年2月23日 07:07:42
下一篇 2025年2月23日 07:07:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MySQL主从数据库同步延迟问题解决

    最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来 最近在做mysql主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些…

    数据库 2025年2月23日
    100
  • RMAN ORA-19693错误解决

    10.2.0.5 on windows 64 bit 现象:从一个 server A拷贝backupset 至另一个server B。在server B上恢复。首先使用lsquo;catalog 10.2.0.5 on windows 64…

    数据库 2025年2月23日
    100
  • ORA-02030问题解决方法又一例

    给普通用户赋予对v$视图的查询权限,结果报 ORA-02030 错误,ORA-02030: 只能从固定的表/视图查询(ORA-02030: can only select f 首页 → 数据库技术 背景: 阅读新闻 ora-02030问题解…

    数据库 2025年2月23日
    100
  • Oracle表空间增长异常解决又一例

    客户环境某台数据库临时表空间异常增长(日期随机),观察下来可能是下列两个oracle自身的定时job引起, 描述:客户环境某台数据库临时表空间异常增长(日期随机),观察下来可能是下列两个oracle自身的定时job引起, 时间:2014/0…

    数据库 2025年2月23日
    100
  • 如何获取Oracle DBID

    如何获取Oracle DBID,由于DBID在控制文件和数据文件中都存在记录,所以如果能够mount数据库就可以查询v$database视图获得。 1.查询v$database获得 由于DBID在控制文件和数据文件中都存在记录,所以如果能够…

    数据库 2025年2月23日
    100
  • Linux中对MySQL优化

    要求: MySQL数据库管理与维护 1、熟悉Linux上安装、配置和优化MySQL数据库, 2、熟悉 Mysql的AB复制以及读写分离的实现,能完成 要求: mysql数据库管理与维护 1、熟悉Linux上安装、配置和优化MySQL数据库,…

    数据库 2025年2月23日
    100
  • MySQL命令行使用过程的一些技巧

    mysql –xml(-X)实现以XML格式显示MySQL查询结果;mysql –html(-H)实现以HTML格式显示MySQL查询结果;这样的输出结果方便与其他程序集成在 1.mysql –xml(-…

    数据库 2025年2月23日
    100
  • Oracle的SQL语句中如何处理‘’符号

    lsquo;rsquo;符号在SQL中有特殊含义,所以在SQL中想要写入,需要特殊处理。如下SQL语句就不能正确运行:SQLgt; select #39; ‘&’符号在SQL中有特殊含义,所以在SQL中想要写入&,需要特殊处…

    数据库 2025年2月23日
    100
  • Oracle 10G安装中一些常见问题解决

    一,如何彻底删除旧版本的Oracle1,在cmd里运行DBCA,在这里删除Oracle实例,有多少删多少;2,在开始程序中找到Oracle子目录下 一,如何彻底删除旧版本的Oracle 1,在cmd里运行DBCA,在这里删除Oracle实例…

    数据库 2025年2月23日
    100
  • Oracle 建立临时表语法及使用技巧

    Oracle Temporary Tables(Oracle 临时表)1. 建立临时表语法A.ON COMMIT DELETE ROWS 定义了建立事务级临时表的方法CREATE GLOBAL TEMPORAR Oracle Tempora…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论