gpt4 book ai didi

oracle - 页面显示 '?' ,而不是 'é'

转载 作者:行者123 更新时间:2023-11-28 23:01:28 25 4
gpt4 key购买 nike

我正在从oracle11g中检索数据并在IE8和IE9浏览器上显示数据,但是无法显示某些特殊字符(例如é)

在我的网页中,我明确声明了“UTF-8”编码。

对于我的 tomcat 网络服务器,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的。如果我使用 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" />

最佳答案

请查看this answer .尽管它侧重于 SQL Developer,但它包含有关调整 JDBC 驱动程序的信息,并指出如何在 Oracle 中正确处理 unicode 字符类型。

更新
在客户端显示字符的问题可能是由数据库客户端(在您的情况下为 Tomcat)上的错误 NLS_LANG 设置引起的。对于从 Java 区域设置派生的瘦 JDBC 驱动程序 NLS_LANG 值。
对于可能的变体,您可以查看 this question 上的答案。并检查 Oracle documentation .
如果问题的真正根源在于 Oracle 数据库连接的字符集,那么只有两个可能的端点需要检查:NLS_LANGoracle.jdbc.defaultNChar。因此,您需要检查两者是否设置正确,以弄清楚发生了什么。

关于oracle - 页面显示 '?' ,而不是 'é',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com