当前位置: 代码迷 >> Web前端 >> java.io.CharConversionException: Not an ISO 8859-1 character
  详细解决方案

java.io.CharConversionException: Not an ISO 8859-1 character

热度:1114   发布时间:2013-03-17 13:48:32.0
java.io.CharConversionException: Not an ISO 8859-1 character:

在做一个很简单的问题,遇到这个问题,一开始的代码如下

HttpServletResponse resp=null;

out = resp.getOutputStream();

out.print("<script language='javascript'>alert('\u8bfe\u7a0b\u6570\u636e\u672a\u5bfc\u5165\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u5bfc\u5165\u3002');window.close();</script>");


解决的代码如下:

            resp.setContentType("text/html;charset=UTF-8");
            resp.getWriter().print(
                    "<script language='javascript'>alert('\u8bfe\u7a0b\u6570\u636e\u672a\u5bfc\u5165\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u5bfc\u5165\u3002');window.close();</script>"); // 换成这个就好了
            resp.getWriter().close();



原因 :估计是stream输出的是二进制流 没有对字符进行编码  ,stream 只适用于 ISO 8859-1编码的字符,writer输出的是文本的信息, 是进行过系统编码后的。 猜的。


1楼xiaguangtest前天 11:51
猜的。 ....
Re: Dracotianlong前天 16:55
回复xiaguangtestn哈哈,最后验证了下,确实是这样的。
  相关解决方案