在servlet响应中将ISO-8859-1转换为UTF-8

时间:2013-06-04 15:14:00

标签: java character-encoding

我有一个servlet,它从Oracle数据库中检索数据。数据库中的编码是Latin1。以下代码适用于浏览器:

resp.setCharacterEncoding("ISO-8859-1");
resp.getWriter().write(result);

但我需要能够返回UTF-8,如下所示:

utfResult = ???;
resp.setCharacterEncoding("UTF-8");
resp.getWriter().write(utfResult);

为了达到这个目的,我尝试了很多语法,但都没有。

系统是Java 7上的Tomcat 7.感谢您的支持。

要回答更详细的请求:

对于第一个版本,所有字符在浏览器中都显示正常,但在使用数据的NodeJS程序中没有。

当我用resp.setCharacterEncoding("ISO-8859-1");替换resp.setCharacterEncoding("UTF-8");时,字符öäüèéà被替换为?

1 个答案:

答案 0 :(得分:0)

Java String已经是Unicode文本。所以唯一的问题可能是从数据库读取可能出错了。检查一下。