page显示“?”,而不是“E”(Page displaying '?', inst

2019-10-18 13:35发布

我retriving从Oracle11g的数据,并显示在IE8和IE9浏览器中的数据,但无法显示某些特殊字符(如é)

在我的网页,我已经明确宣布“UTF-8”编码。

对于我的Tomcat Web服务器,在server.xml

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

我读了一些stackflow其他问题,他们提到也保证了数据库连接是使用“UTF-8”太。

  <Resource name="jdbc/AppDB" 
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="20" maxIdle="10" maxWait="10000"
        username="foo"
        password="bar"
        driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/      ID_development?useEncoding=true&amp;characterEncoding=UTF-8"
    />

给出的解决方案是MySQL。 我怎样才能使用,如果IM一个OracleDriver设置编码?

<Resource name="jdbc/AppDB"
       auth="Container"
       type="javax.sql.DataSource"
       driverClassName="oracle.jdbc.OracleDriver"
       url="jdbc:oracle:thin:@127.0.0.1:1521:ora11"
       username="foo"
       password="bar"
       maxActive="20"
       maxIdle="1000"
       maxWait="-1" />

Answer 1:

请查看这个答案 。 不管事实,即它专注于SQL Developer的,它包含了有关调整JDBC驱动程序的信息,并指出如何正确处理甲骨文Unicode字符类型。

更新
在客户端上显示字符故障可能由错误造成的NLS_LANG数据库客户端(在Tomcat的情况下)的设置。 用于从Java区域设置衍生薄JDBC驱动NLS_LANG值。
对于可能的变体,你可以看看通过对回答这个问题 ,检查Oracle文档 。
如果问题的真正根源在于对字符集的Oracle数据库连接的,那么只有两种可能的端点,以检查: NLS_LANGoracle.jdbc.defaultNChar 。 所以,你需要检查是否都正确设置来弄清楚什么事。



文章来源: Page displaying '?', instead of 'é'