【问题标题】:Retrieve multilingual data (Chinese, Japanese...) from SQL Server 2008 R2 and display in Java webapp从 SQL Server 2008 R2 检索多语言数据(中文、日文...)并在 Java webapp 中显示
【发布时间】:2012-10-10 01:37:37
【问题描述】:

我的数据库中有中文数据,我需要在我的 Java Web 应用程序中显示它。但是我得到 ??? 作为输出。

使用的数据库: SQL Server 2008 R2(nvarchar 数据类型用于支持 Unicode 数据,并使用默认排序规则名称创建 db,即 SQL_Latin1_General_CP1_CI_AS,并且在将数据存储在分贝)。

开发环境: Window 7

Treegrid 用于显示数据。

我已经:

1. set charset and pageEncoding to UTF-8  in my HTML, jsp and Java
pages.

2.  Updated my jdbc connection  with useUnicode=true;characterEncoding=UTF-8;.

3.  Configured Tomcat’s server.xml connector to use UTF-8 (URIEncoding="UTF-8").

我曾经将collation_name 设置为Latin1_General_CI_AI 仍然无法正常工作。

【问题讨论】:

    标签: unicode utf-8 sql-server-2008-r2 multilingual collation


    【解决方案1】:

    Latin1_General_CI_AI --> 有一部分是你的问题。 Latin1 与 Unicode 无关。得到“???”意味着您的工具链中的某个地方存在编码问题,您的 UTF-8 数据被打乱到另一种编码中。

    【讨论】:

    • 我看到一篇文章说sql server 2008 R2 通过提供nchar/nvarchar/ntext 数据类型来支持Unicode。但是它不支持对 unicode 数据进行 utf-8 编码,但是它支持 utf-16(因为它内部支持 UCS-2,并且 utf-16 和 ucs-2 的存储格式相似)。好吧 eclipse 不支持 ucs-2编码。这是否意味着我必须将我的 java webapp 编码转换为 utf-16?我什至尝试过使用 utf-16 格式,仍然???来了。
    • 正如你所说,我的代码中存在一些编码问题..现在它工作正常..谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多