«

关于中文乱码的解决方法

时间:2024-3-2 17:29     作者:韩俊     分类: Android


客户端与服务器端在进行交互时,不可避免的要遇到中文乱码的情况,为什么呢,因为这些事老外发明的,一开始或许压根就没考虑中文。所以后来我们就自己发明了转码,将英文字符转换为我们能懂常用文字,哈哈,以上这些胡扯的不用当真。下面就介绍我自己的解决中文乱码的方法吧。

1.数据库存储中文乱码

我用的是MYSQL,需要将数据库的url后面加上useUnicode=true&characterEncoding=UTF-8这句话即可即:

String url = "jdbc:mysql://localhost:3306/pro?useUnicode=true&characterEncoding=UTF-8";

另外在tomcat的server.xml里面下面语段加入 URIEncoding="UTF-8" ,保存,重新发布工程即可

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />


2.GET方式上请求数据中文乱码

get方式请求时,参数是直接写入url地址里面的。所以大家说这样很不安全。确实是这样。而且浏览器地址栏输入中文肯定乱码。一会再讲浏览地址栏输入中文出现乱码的解决方法。

get请求解决乱码的方法是在客户端加入如下语句即可

try {
name1 = URLEncoder.encode(name1, "UTF-8");//name1转为UTF-8编码
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

服务器端则加入

response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

3.浏览器地址URL乱码解决

response.setContentType("text/html;charset=GBK");//可以解决浏览器uri中文乱码,server.xml配置URIEncoding='GBK'




标签: android

热门推荐