使用java在数据库中保存unicode字符
我需要用JDBC在SQLServer2005DB中保存一些Unicode字符,当我尝试使用存储过程将“O'CON”保存到类型为NVarchar的DB列中时,它会保存“O?CON”(其中“character”不是“or”) 我做了一些研究和开发,发现我需要在我的使用java在数据库中保存unicode字符,java,sql-server-2005,jdbc,Java,Sql Server 2005,Jdbc,我需要用JDBC在SQLServer2005DB中保存一些Unicode字符,当我尝试使用存储过程将“O'CON”保存到类型为NVarchar的DB列中时,它会保存“O?CON”(其中“character”不是“or”) 我做了一些研究和开发,发现我需要在我的DBcon.properties文件中添加一些useUnicode=true&characterEncoding=UTF-8,其中包含数据库连接的所有详细信息 是否有人可以帮助我将其添加到属性文件中,或者我可以在创建连接对象时在运行时添加它
DBcon.properties
文件中添加一些useUnicode=true&characterEncoding=UTF-8
,其中包含数据库连接的所有详细信息
是否有人可以帮助我将其添加到属性文件中,或者我可以在创建连接对象时在运行时添加它
或者,如果有人可以帮助我如何使用java在DB中保存unicodes字符
谢谢。要连接到数据库,请使用特定于数据库和驱动程序的连接字符串 很久以前我用过MSQ,但我记得他们有
jtds
驱动程序。此类驱动程序的连接字符串如下所示:
jdbc:jtds:sqlserver://hostname:1433/my_database;useUnicode=true;characterEncoding=UTF-8
但从那时起,MS将创建自己的JDBC驱动程序,如果您使用它,我认为您可以添加:
sendStringParametersAsUnicode=true
连接到您的连接字符串。它被描述为
在出现问题的情况下,向我们展示您的连接字符串和使用它的代码。我从您前面的一些问题中看到,您可能正在使用Eclipse。如果是这样,那么右键单击PackageExplorer中的.java文件名并选择“属性”。检查该文件的“文本文件编码”设置。它是UTF-8吗<代码>Cp1252?还有别的吗?@GordThompson它的UTF-8你在用什么JDBC驱动程序?我刚刚使用“Microsoft JDBC Driver 4.0 for SQL Server”进行了测试,但我无法重新创建您的问题,即使在尝试了
sendStringParametersAsUnicode
、useUnicode
和characterEncoding
的几种不同设置后也是如此。更正:我确实使用“Microsoft JDBC Driver 4.0 for SQL Server”测试失败当我在连接字符串中使用sendStringParametersAsUnicode=false
时useUnicode
和characterEncoding
似乎没有任何区别。(我相信后两种是针对MySQL的,而不是针对Microsoft SQL Server的。)