拼音排序mysql_MySQL拼音排序解决方案解决办法

mysql拼音排序解决方案

有个学生问到mysql中文按拼音排序的问题,因是j2ee应用,最好保持原应用的页面和数据库编码utf-8不变。现贴出自己的方案如下,不知是否有其他就更好的方法希朋友们指出?

1.说明:

windowXP

版本:mysql5.1.14

jdbc驱动:mysql-connector-java-5.0.4-bin.jar

jdbc   URL:         jdbc:mysql://localhost/test?user=root&password=root

页面编码utf-8:

contentType= "text/html;   charset=utf-8 "   pageEncoding= "UTF-8 "%>

2.mysql数据库字符集:

方式一:

启动服务:mysqld     --default-character-set=utf8

方式二:

在my.ini中设置[mysqld]小节:default-character-set=utf8

,然后启动mysql服务。

3.创建测试库、表:

create   database   test_db

use   test

create   table   test(

name   varchar(20)

)character   set   gb2312   collate   gb2312_chinese_ci;

alter   table   test   character   set   utf8;

4.核实测试表:

show   create   table   test;

+-------+-------------------------------------------------

|   Table   |   Create   Table

+-------+-------------------------------------------------

|   test     |   CREATE   TABLE   `test`   (

`name`   varchar(20)   CHARACTER   SET   gb2312   DEFAULT   NULL

)   ENGINE=MyISAM   DEFAULT   CHARSET=utf8   |

+-------+-------------------------------------------------

存储引擎根据实际情况可以修改为innoDB

5.插入测试数据:

mysql> set   names   gb2312;

mysql> show   variables     where   variable_name   like   '%character% ';

+--------------------------+-------------------------------------------

|   Variable_name                         |   Value

+--------------------------+-------------------------------------------

|   character_set_client           |   gb2312

|   character_set_connection   |   gb2312

|   character_set_database       |   utf8

|   character_set_filesystem   |   binary

|   character_set_results         |   gb2312

|   character_set_server           |   utf8

|   character_set_system           |   utf8

insert   into   test   values( '必 ');

insert   into   test   values( '吴 ');

insert   into   test   values( '在 ');

insert   into   test   values( '哦 ');

insert   into   test   values( '恶 ');

insert   into   test   values( '是 ');

insert   into   test   values( '提 ');

insert   into   test   values( '阿 ');

select   *   from   test   ordber   by   name;

6.从jsp页面上检索、提交中文数据,正常。

------解决方案--------------------

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值