我一直在尝试使这个工作,但到目前为止还没有成功。
我不是很清楚发生了什么,但我会尽力详细说明。
我的服务器端jsp页面都使用ISO-8859-1编码,我不想改变。
所有请求/响应都以xml形式进行。
当前的POST请求正在使用javascript的escapeURIComponent
函数,而且一切正常,直到出现特殊字符,例如字符串:hello°world©®™test。当这个字符串(经过escapeURIComponent
处理)从IE POST(到数据部分)时,重新加载页面就应该得到相同的字符串,但却显示为:hello°world©®™test。
我认为这是因为encodeURIComponent
函数将字符串编码为UTF-8,而不是ISO-8859-1,当页面呈现时,UTF-8被解释为ISO-8859-1字符,因此显示乱码。
有没有办法在不将网页转换为UTF-8字符集的情况下解决这个问题?
POST请求的Content-Type设置为"application/x-www-form-urlencoded"。
谢谢您提前的帮助。
<% request.setCharacterEncoding("UTF-8"); %>
已经生效。谢谢! - user1719160