[转帖]解决MySql中文乱码问题_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2144 | 回复: 0   主题: [转帖]解决MySql中文乱码问题        下一篇 
xuefeng
注册用户
等级:上士
经验:315
发帖:69
精华:0
注册:2011-8-17
状态:离线
发送短消息息给xuefeng 加好友    发送短消息息给xuefeng 发消息
发表于: IP:您无权察看 2014-12-11 15:29:23 | [全部帖] [楼主帖] 楼主

数据库:MySql5.1

开发语言:JAVA

操作系统:Windows Xp

错误及解决步骤记录:

好久没有用MySql了,这两天用一下报中文插入问题,刚开始的一直以为是MySql连接字符串的问题:

jdbc:mysql://localhost:3306/imps?useUnicode=true&characterEncoding=UTF-8


将最后的参数characterEncoding的值是换了又换,如gbk、gb2312等等,结果通过页面插入的时候还是报错,我JSP页面采用的编码方式为:

<%@ page contentType="text/html;charset=UTF-8" %>


我通过MySql Client进行中文插入的时候,没有问题,可以正常插入,我又安装了MySql的GUI工具,打开其查询工具进行中文的插入,报的错居然和我通过JSP页面插入的时候报的错一样,都是不允许插入一堆什么字符等,这个时候我想是不是数据库的字符设置有问题,我通过命令:

mysql> show create table test;
+-------+------------------------------------------
--------------------------------------------------+
| Table | Create Table
|
+-------+------------------------------------------
--------------------------------------------------+
| test  | CREATE TABLE `test` (
`a` int(11) DEFAULT NULL,
`b` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+------------------------------------------
--------------------------------------------------+
1 row in set (0.00 sec)
create table test(a int,b varchar(20));


我打开MySql的配置文件${MySql_Home}/my.ini,看到其中设置的默认字符及默认建表的字符都是latinl,我将其改为utf8,然后重新启动MySql,再次采用上面的建表句,再通过命令show create table test命令查看,居然字符还是latinl,这个我就郁闷了,并且通过JSP页面及MYSQL GUI工具插入也还是报错。

我把这个表给删除掉,采用如下建表:

create table test(a int,b varchar(20)) default charset=utf8;


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论