关于中文乱码的解决方法

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

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'




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值