中文乱码解决方案
>>HTTP协议传中文的特点:
对于传英文或数字,可以原样传
对于传中文,必须对其进行URL编码
提示:URLEncoder编码 和 URLDecoder解码
编码: URLEncoder.encode(String url,String enc);url带中文的url路径,enc指定传递参数的字符编码 UTF-8是W3C的推荐
解码:URLDecoder.decode(String url,String enc);url带中文的url路径,enc指定传递参数的字符编码 UTF-8是W3C的推荐
>>乱码原因:
服务端二端,使用了不同的编码方式,导致中文乱码的出现
>>处理原则:
必须确保服务端二端的编码方式一致或兼容
>>处理方案
1)HTML
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
表示该HTML中的中文按UTF-8编码,同时通知浏览器按UTF-8解码
2)JSP
<%@ page language="java" pageEncoding="UTF-8"%>
表示该JSP中的中文按UTF-8编码,同时通知浏览器按UTF-8解码
3)Servlet/Filter/Listener
doGet()
String username = request.getParametere("username")//按照ISO编码方式解码中文,必定是乱码
byte[] buf = username.getBytes("ISO");//转回原型
username = new String(buf,"UTF-8");//手工再次按UTF-8方式解码
doPost()
reqeust.setCharacterEncoding("UTF-8");//一定要在取参数之前设置
request.getParametere("username")//按照UTF-8去解码中文,默认按ISO编码方式
4)XML
<?xml version="1.0" encoding="UTF-8"?>
表示XML中的中文按照UTF-8去编码
5)浏览器(查看->编码)
相当于一个解码工具,可以按照用户指定的编码方式去解码
如果要看到正确的中文,该解码必须和编码要一致
6)数据库
当数据库提示:Data to long for username field ...,有二种解决方案
>>修改该字段的长度
>>修改my.ini文件,争对客户端编码改为GBK或GB2312,服务端无需修改
再次启动MySQL的服务进程,让他重新加载my.ini文件
相关推荐
FlashFXP中文乱码解决方案 解决有关中文乱码的方法总结,经典的解决中文乱码的方法
json 中文乱码解决方案,此方法简单实用,方便快捷
php中文乱码解决方案 详细的PHP中文乱码解决方法
VC++编译后出现中文乱码解决方案借鉴.pdf
Struts中文乱码解决方案
JFreeChart 中文乱码 解决方案J FreeChart 中文乱码 解决方案
mysql中文乱码解决方案
JSP动态网站设计中的中文乱码解决方案JSP动态网站设计中的中文乱码解决方案
英文版Ubuntu Firefox中文乱码解决方案.docx
史上最全的PHP+MySql中文乱码解决方案
tomcat get提交中文乱码解决方案,修改tomcat server.xml 中以下为
解决ultraeditor打开中文文件出现乱码的情况
Xshell登陆Ubuntu的中文乱码解决方案.docx
解决系统中文乱码问题,后台数据库显示乱码,以及前台数据乱码等多种乱码解决方案
JSP与MySQL交互的中文乱码解决方案
中文乱码解决方案.rar
Gedit中文乱码解决方案 2014年01月16日 星期四 23时29分25秒 Gedit 3.x 版本设置 (适用于Ubuntu 11.10及以后) [以下命令在终端下使用(Ctrl+Atl+T),可行] 命令方式:
中文乱码解决方案.pdf
birt Chart在Linux下中文乱码解决方案。