1.统一用UTF-8编码,即Tomcat的server.xml、页面、过滤器都用UTF-8
2.
请求参数,需要编码
<a href="newsAction?name=<%=java.net.URLEncoder.encode("表数据管理","UTF-8")%>"
target="frameset">Xls表数据管理 </a>
假如是java代码的话直接写java.net.URLEncoder.encode("测试吗","UTF-8");
下面引用Qieqie的一段代码:
public static void main(String[] args) throws UnsupportedEncodingException {
//给定某3个汉字
String src = "你好啊";
//String src = "一二三";
//浏览器进行utf-8编码,并传送到服务器
byte[] bytes1 = src.getBytes("utf-8");
System.out.println(bytes1.length);//9
//tomcat以gbk方式解码(这个片段的说明仅针对gbk处理汉字的情况)
//如果一对汉字字节不符合gbk编码规范,则每个字节使用'?'(ascii 63)代替
//万幸的话,只是最后一个(第9个)字节因不能成对,变成问号(比如当src="你好啊"时)
//不幸的话,中间某些字节就通不过gbk编码规范出现'?'了(比如当src="一二三"时)
//总之temp的最后一位必定是问号'?'
String temp = new String(bytes1, "gbk");
//你的action中的代码
//由于以上的tomcat以gbk解释utf-8不能成功
//所以此时bytes2和bytes1不一样
byte[] bytes2 = temp.getBytes("gbk");
System.out.println(bytes2.length);
for (int i = 0; i < bytes1.length; i++) {
System.out.print(bytes1[i] & 0xff);
System.out.print("\t");
}
System.out.println();
for (int i = 0; i < bytes2.length; i++) {
System.out.print(bytes2[i] & 0xff);
System.out.print("\t");
}
System.out.println();
//构建出来的dest自然不是原先的src
String dest = new String(bytes2, "utf-8");
System.out.println(dest);
}
分享到:
相关推荐
当URL中包含的中文字符数量为奇数时,最后一个未配对的中文字符无法正确地被编码,导致接收端解码失败,从而出现乱码。 #### 2.2 具体案例分析 假设一个URL中包含了一个未配对的中文字符“中”(UTF-8编码下为E4B8...
中文乱码问题在IT行业中是常见的...总之,理解和掌握字符编码的概念及其在Web开发中的应用是解决中文乱码问题的关键。保持编码一致性,正确配置服务器和过滤器,并注意浏览器的行为,可以有效地防止和解决这些问题。
本文主要探讨了在使用Tomcat作为servlet容器,浏览器包括Firefox3.0和IE6的情况下,如何解决中文乱码问题,以及各种请求方式(GET、POST)下可能出现的乱码情况。 首先,确保所有页面的`charset`设置为`UTF-8`是...
idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...
以下,我们将详细介绍几种通用的解决方案: 首先,针对浏览器客户端,以Windows操作系统上使用IE浏览器为例,当浏览UTF-8编码的网页时,可能出现浏览器无法自动侦测页面编码的情况,导致页面内容显示异常。尤其是当...
Java代码示例提供了一个相对复杂的解决方案,通过仔细检查字节序列并确保完整字符的边界,有效地实现了这一功能。这对于处理全球各种语言的文本数据至关重要,特别是在资源受限或需要高度精确性的情况下。掌握这种...
当UTF-8编码的页面在IE7中解析时,如果`<title>`标签内部存在奇数个全角字符(每个全角字符在UTF-8中占3个字节),IE7可能会将其错误地解析为两个字节,导致半个汉字与`</title>`的开始标签"结合,形成乱码,从而...
每个实例都是经过笔者精心筛选的,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。 本书两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;本书实例来源...