站点图标 IDC铺

关于jsp与mysql的汉字乱码SQL中无法使用汉字的问题

最近在使用java 和 mysql的开发,遇到要在 mysql数据库中使用

selec * from tableName where like table_title LIKE ‘%你好%’;

假设表tableName是

id  txt

1   你好abc

当我使用上面的sql语句时,并没有返回任何结果。而当我把  “你好”   换成  a,就会返回第一行数据。这很让我纳闷。

首先说明,我的 所有IDE(Myeclipase),编辑器(Editplus)都是默认utf-8的,文件(jsp,html)中的编码也都是设置为utf-8,mysql服务器是utf-8,新建数据库 的数据库也是 utf-8(general_ci那个。但是依然出现汉字的问题,我搞不懂。

然后我上网搜索,大多都是php+mysql之类的资料,有jsp的多半也是这么几种情况:

1,mysql安装的时候没有选utf-8

2,新建数据库的时候没有选择utf-8

3,页面jsp或html没有选择utf-8

4,如果是php开发 ,那么就是在选择数据库语句   mysql_select_db(“dbname”, $con);

后,少了一条语句:                                    mysql_query(“set names utf8;”);

 

看到第4条,我就想着,jsp是不是也有这么一条语句,但是搜索了很久,貌似没有。总之,我感觉不是页面和数据库的编码问题,而是  页面向mysql的服务器发送数据的时候,数据的编码不正确的问题(数据库识别英文字符,却不支持汉字)。

最后,我突然想到要百度 mysql url ,果然,我的url有问题。

正规的   mysql  的  url  是这样的:

url= jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk

这里面有很多参数,其中 解决最后问题的就是   useUnicode  和  characterEncoding 这两个参数。

退出移动版