1.windows下的mysql, 先是mysql乱码,没法插入中文,查了半天,解决了:先在mysql下用show variables查看编码,如果不是utf-8,改成utf-8。方法是,到mysql安装目录下找my.ini,将default-character-set设置为utf-8,注意有两处要改。一处是服务端编码,改成utf8,一处是客户端,也就是命令行查看的时候的编码,改成GBK(注意,大写),如果不改,MYSQL命令行窗口中看到的就是乱码。
2.js提交的中文到服务端成了乱码,这代码之前一直正常的,很郁闷。测试了一下encodeURIComponent函数,功能也没问题,js和jsp和java文件全部都是utf-8格式,客户端alert参数也正常,就是在提交到服务端变乱码。想象可能跟服务器有关,baidu了一下,找到办法: 在tomcat的server.xml中找到<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8080" redirectPort="8443"/>,加上一个属性,变成:<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8080" redirectPort="8443" URIEncoding="UTF-8"/>,就OK了。原因是:tomcat默认不处理utf-8,所以必须在server.xml里的连接里设置编码