Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java在数据库中保存unicode字符_Java_Sql Server 2005_Jdbc - Fatal编程技术网

使用java在数据库中保存unicode字符

使用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,其中包含数据库连接的所有详细信息 是否有人可以帮助我将其添加到属性文件中,或者我可以在创建连接对象时在运行时添加它

我需要用JDBC在SQLServer2005DB中保存一些Unicode字符,当我尝试使用存储过程将“O'CON”保存到类型为NVarchar的DB列中时,它会保存“O?CON”(其中“character”不是“or”)

我做了一些研究和开发,发现我需要在我的
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的。)