jsp从windows下移植到linux下出乱码

hong187168231 2009-02-17 06:27:08
我在windows下开的网页传到linux下就出乱码了(在windows下是没有问题的),主要问题是插入mysql数据库的中文是?号,
查看数据库编码
character_set_client utf8
character_set_connection utf-8
character_set_database utf-8
character_set_results utf8
character_set_server latin1
character_set_system utf8
连接方试:jdbc:mysql://127.0.0.1:3306/xuehui?useUnicode=true&characterEncoding=UTF8
用了很多编格试去转码都没有成功,主要是插入到数据库里的就是个?号。
...全文
132 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hong187168231 2009-02-20
  • 打赏
  • 举报
回复
我苦思了几天最后才发现是jdbc:mysql://127.0.0.1:3306/xuehui?useUnicode=true&characterEncoding=UTF8 这里有错误
现在改成这样就OK了jdbc:mysql://127.0.0.1:3306/xuehui?useUnicode=true&characterEncoding=UTF8

真的很谢谢!
blueram 2009-02-17
  • 打赏
  • 举报
回复
我就是按照下面的方法解决了,希望对你有用


mysql默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法:
1、windows下:修改my.ini文件,有两处default-character-set=latin1都改为default-character-set=utf8重启既可。
2、linux下:vi /etc/my.cnf(# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 既已经把my-medium.cnf拷贝到/etc/下了)在[mysqld]下加入default-character-set = utf8,[client]下加入default-character-set = utf8
:wq保存退出
也可直接在mysql>输入
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;
x为要设置的字符集,如utf8
# show variables like '%char%';# show variables like '%collation_%';
查看字符集,会显示各项字符集。重新设置后的数据库不能使用,因为中文一样会是乱码,不知道为什么,重建一个数据库,重启服务器。

url中文字符乱码问题:
修改tomcat的server.xml文件
<Connector acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="8080"
redirectPort="8443"
maxSpareThreads="75"
maxThreads="150"
minSpareThreads="25"
URIEncoding="UTF-8">
</Connector>
配上过滤器就OK。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧