我正在从Oracle数据库中获取日语字符串,并将其显示在浏览器上。但在浏览器上显示的字符就像?使用unistr()函数将日语字符串插入DB。
INSERT INTO MESSAGES (MESSAGE_ID,MESSAGE) VALUES (1,unistr('\0041\0063\0063\0065\0073\0073\0020\004d\0061\006e\0061\0067\0065\006d\0065\006e')); 当我打印System.getProperty("file.encoding")时,我在我的jvm logs ISO8859-1中得到了这个。
select * from v$nls_parameters where parameter in ('NLS_CHARACTERSET')在我的数据库中生成UTF8。
有什么关于如何正确显示日语字符的建议吗?
发布于 2019-04-09 20:39:07
您正在尝试将ISO8859-1更改为utf-8。
如果在struts中出现上述问题,请在java.jsp页面上使用以下代码
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>发布于 2010-07-22 08:34:27
尝试更改您的浏览器区域设置。你可以用Firefox做到这一点。
发布于 2010-07-22 08:37:44
就Unicode编码而言,服务器对浏览器的响应字符似乎未正确指定。如果你使用的是Tomcat,这里有一个fairly detailed SO question on this topic。请注意,您必须使用UTF-8,而不是ISO-拉丁语-1/ISO-8859-1,因为日语字符不属于拉丁语-1字符编码。
除了有关Unicode编码的指针之外,您可能还需要检查以下几点:
如果您已经排除了上述所有问题,那么Unicode字符(包括日语)将被转换为无法理解的格式。
https://stackoverflow.com/questions/3304913
复制相似问题