从 SQL Server 2008 R2 检索多语言数据(中文、日文...)并在 Java webapp 中显示
Posted
技术标签:
【中文标题】从 SQL Server 2008 R2 检索多语言数据(中文、日文...)并在 Java webapp 中显示【英文标题】:Retrieve multilingual data (Chinese, Japanese...) from SQL Server 2008 R2 and display in 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
仍然无法正常工作。
【问题讨论】:
【参考方案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 格式,仍然???来了。 正如你所说,我的代码中存在一些编码问题..现在它工作正常..谢谢以上是关于从 SQL Server 2008 R2 检索多语言数据(中文、日文...)并在 Java webapp 中显示的主要内容,如果未能解决你的问题,请参考以下文章
从开发人员的 POV 看 SQL Server 2008 和 SQL Server 2008 R2 之间的差异
Umbraco 从 SQL Server 2012 迁移到 SQL Server 2008 R2
从 Win CE 设备到 SQL Server 2008 R2 的 SQL 复制
将 SQL Server 2008 r2 降级到 SQL Server 2008
使用 Powershell 从 SQL Server 2008 R2 导出到固定宽度的文本文件
Team Foundation 数据从 TFS2010/SQL Server 2008R2 迁移到 TFS2012/SQL Server 2012 服务器