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输出的是文本的信息, 是进行过系统编码后的。 猜的。


你可能感兴趣的:(java.io.CharConversionException: Not an ISO 8859-1 character:)