这几天因实验室发展需要~潜心研究jsp+servlet+mysql+tomcat网页开发,当然啦,重在功能的实现,特别是中文的正确处理是这次的一个重点任务,任务看似简单,但路途却充
满坎坷,本文将列举,一二,一是作为辛苦工作的真实回忆,二是作为技术贴供后来人(当然也包括自己啦)参考。
1. mysql中文编码问题:
今天下午终于在linux下又遇上了mysql数据库连接中的经典问题了,中文编码乱码问题,说它“又”,因为前几天在windows下用mysql已经遇见过这个问题,经过一番拼杀,终于
已经解决了,相比较今天遇到的linux版本,windows版的mysql中文编码问题解决容易许多,只需要在 mysql server instance configure wizard里选择gb2312编码方式就可以了
,下面主要介绍linux下的解决方法:
mysql version: mysql-standard-5.0.12-beta-linux-i686
要解决问题:解决mysql在linux下支持gb2312(当前中国网页主流编码方式)的各种问题
解决方法:
step1: 下载 mysql-standard-5.0.12-beta-linux-i686.tar.gz,在shell下输入 tar -xvvzf mysql-standard-5.0.12-beta-linux-i686.tar.gz 解压
step2: cp support-files/my-large.cnf /etc/my.cnf
step3: vim /etc/my.cnf, 找到[client],加入 default-character-set=gb2312
找到[mysqld], 加入 defualt-character-set=gb2312
init_connect='SET NAMES gb2312'
step4: 重启mysql即可解决
小提示: 这时候你在console下输入 select * from ... 出现的中文还是乱码,别紧张,因为console不支持gb2312编码,你可以尝试用其他方法验证结果是否正确~
2. mysql root密码设置以及mysql登录问题
step1: 进入mysql的bin目录, ./mysqladmin -uroot -p password '123456' , 然后mysql会提示你输入初始密码,初始密码为空,所以直接键入回车即可,于是乎完成了
Mysql的root密码设置
step2: 登录mysql: ./mysql -uroot -p, 然后根据提示输入mysql的root密码,即可登录
step3: mysql支持脚本刷入,linux下mysql脚本刷入方法为 source filepath; 就可以了
3. jsp 网页中中文显示乱码的解决:
<%@ page contentType="text/html; charset=gb2312"%>
4. servlet 中中文乱码的解决:
在doPost和doGet中输入:
request.setCharacterEncoding("gb2312");
response.setContentType("text/html; charset=gb2312");
5. jsp中取得参数的中文乱码的解决:
<%String c=newString(request.getParameter("str").getBytes("iso-8859-1"),"gb2312");%>
先写到这里啦,best wishes for myself~~~