我搜索了论坛,看了所有的帖子,没有一个能够解决我的问题,真tm的邪门。
我的mysql是utf8编码,无法更改。现在我用jsp插入中文,在tomcat控制台中显示出来的中文都没有问题,插入到表中就出现了????的乱码,我都快失望了,求大家帮忙了
我的mysql是utf8编码,无法更改。现在我用jsp插入中文,在tomcat控制台中显示出来的中文都没有问题,插入到表中就出现了????的乱码,我都快失望了,求大家帮忙了
参考一下 看能不能解决
jdbc:mysql://localhost:3306/dataBase?useUnicode=true&characterEncoding=GBK然后在插入数据库前转换下编码就ok public String change(String str) {
String newStr = "";
try {
newStr = new String(str.getBytes("ISO8859_1"));
}
catch (UnsupportedEncodingException e) {}
finally {
return newStr;
}
}
你的JSP页面包含如下语句:
<%@page contentType="text/html; charset=utf-8"%>数据库链接添加
useUnicode=true&characterEncoding=utf8&connectionCollation=utf8_general_ci
例如:
jdbc:mysql://localhost:3306/yourdatabase?useUnicode=true&characterEncoding=utf8&connectionCollation=utf8_general_ci总之全部统一编码为utf8就是了
另外你如果直接查询数据库时,最好在查询前先执行如下语句:
set character_set_connection='utf8';
set character_set_results='utf8';
set character_set_client='utf8';
jdbc:mysql://xx.xx.xx.xx:3306/ft?useUnicode=true&characterEncoding=UTF-8,这里的&不能是&。其次我读取的是utf8格式的csv文件,在读取的时候就要加上转码条件:BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file_csv), "UTF-8"));。ok,希望对大家有帮助。