gpt4 book ai didi

java - MSSQL中的编码问题

转载 作者:行者123 更新时间:2023-12-02 02:13:26 24 4
gpt4 key购买 nike

我正在尝试在 MSSQL 中执行下面提到的查询。

insert into STUDENT (STUDENT_NAME, STUDENT_MARKS, SID) values ('索引', 10, 2)

STUDENTNAME column is of type NVARCHAR.

执行上述查询后。插入的学生姓名是:??

据我了解,上述问题与编码有关,因此我修改了上述查询,添加了 N,如下所示:

insert into STUDENT (STUDENT_NAME, STUDENT_MARKS, SID) values (N'索引', 10, 2)

上面的查询按预期运行,并且成功插入中文字符。

问题:我正在使用 JDBC 执行此插入查询,那么我是否需要如上所示使用 N 处理所有值。或者驱动程序级别有其他一些设置可以解决此问题?

最佳答案

我在 Microsoft article 上找到了这个,

Prefix Unicode character string constants with the letter N. Without the N prefix, the string is converted to the default code page of the database. This default code page may not recognize certain characters.

N 表示字符串采用 Unicode(N 实际上代表国家语言字符集),这意味着您传递的是 NCHAR、NVARCHAR 或 NTEXT 值,而不是 CHAR、VARCHAR或文本。

请关注this link帖子:

Difference between varchar and nvarchar?

对于您的问题,如果您使用 INSERT 查询在表中插入记录,那么YES您必须添加 N > 在每个字符串值之前。

关于java - MSSQL中的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49626999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com