中文乱码问题解决方案

这几天遇到了一个经典问题,中文乱码。。。

以前处理过一些乱码问题,本以为这是几秒钟的事,然而卡壳了。。。突来灵感,在eclipse中js文件有中文的话一般要设置编码集为UTF-8

问题主要是:我在js脚本中拼的url有中文参数,而jsp页面是按工程统一编码GBK,哪知道到问题就出在这个GBK上,换了一下UTF-8,传给action的中文就好了

 

在这里我总结了以前一些解决乱码问题的方案:

1. 转码
str= new String(str.getBytes("iso8859-1"),"gb2312");
str= new String(str.getBytes("iso8859-1"),"GBK");

2.JSP中乱码
<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK" %>


3. tomcat中配置
   更改 Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”:
  方法是找到 server.xml 中的
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />

4. servlet中
 response.setContentType("text/html; charset=GBK");


5, jsp中js拼url带中文 编码集一定要是UTF-8的
    <%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>

 

6,最笨的方法

 在struts中做过编码过滤,但js拼url时候还是有乱码,可以在url后加一个参数判断是什么地方传来的,如果是js拼字符串,则进行转码.(俺经常用,呵呵)

 

你可能感兴趣的:(eclipse,tomcat,jsp,xml,struts)