【发布时间】:2012-02-07 03:06:54
【问题描述】:
我正在尝试使用我的 Web 应用程序从 SQL Server 2005 数据库服务器获取中文字符,该 Web 应用程序由 Linux 机器 (RHEL) 上的 Jboss 服务器托管。问题是汉字永远不会从数据库中返回,而是显示一些方框。为此,我尝试了 Microsoft 的 JTDS 驱动程序和 SqlJdbc 驱动程序。有趣的是,数据库和驱动程序的相同组合在 Windows 环境中工作正常,中文字符以字符串形式从结果集中返回。
任何关于这个问题的帮助将不胜感激。
【问题讨论】:
-
这不是一个编程问题,而是一个支持问题,在超级用户上可能会更好。
-
@GaryRowe - 也许,也许不是,可能是问题中提到的 Web 应用程序的配置问题。
-
哪种 DB 和驱动程序组合在 Windows 上有效?
-
您确定它们永远不会从数据库中返回,还是您的 web 应用程序和日志记录只是没有呈现它们?当您将输出流的编码显式设置为“Cp1252”时会发生什么?
-
看到“方框”通常意味着您使用的字体没有字符的字形。将一些输出转换为十六进制有助于确定字符本身是否通过。尝试输出例如
Integer.toHexString(str.charAt(0))
标签: java sql-server-2005 jdbc jtds