A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

服务器中的GBK数据过去,如果iso8859-1不能正确解码,怎么解决呢?

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

7 个回复

倒序浏览
思路:服务器的数据以GBK编码,你在响应头就告诉浏览器你的数据编码形式。
具体的就是在http响应头的里添加一个属性content-type=text/html;charset=GBK
回复 使用道具 举报
你的问题其实就是因为服务器解码和浏览器编码不同造成的,具体的做法是这么处理
1,客户端发送GBK编码的字节码。
2,服务器端接受GBK编码的字节码,并用ISO8859—1解码,获取解码后的字符串
3,服务器端将ISO8859—1解码后的字符串再次进行编ISO8859-1编码。
4,服务器端将ISO8859-1编码后的字节码进行,GBK解码,即可获取客户端发送的字符串。
这个方法的原理如下图:


QQ截图20120822163227.png (36.5 KB, 下载次数: 20)

QQ截图20120822163227.png

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

回复 使用道具 举报
重新编码
在解码。
回复 使用道具 举报
杜鹏云 发表于 2012-8-22 16:32
你的问题其实就是因为服务器解码和浏览器编码不同造成的,具体的做法是这么处理
1,客户端发送GBK编码的字 ...

为什么要重新编码再解码呢?干嘛不直接一开始就用用GBK解码呢?
回复 使用道具 举报
郑彬 发表于 2012-8-22 23:27
为什么要重新编码再解码呢?干嘛不直接一开始就用用GBK解码呢?

为什么要重新编码再解码呢?干嘛不直接一开始就用用GBK解码呢?
回复 使用道具 举报
郑彬 中级黑马 2012-8-22 23:28:14
7#
为什么要重新编码再解码呢?干嘛不直接一开始就用用GBK解码呢?
回复 使用道具 举报
因为我们本地浏览器发出去的字节码是通过GBK编码的,而tomcat等服务器是老美写的。。他不支持GBK解码。 它支持ISO8859-1。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马