首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSSQL中的编码问题

MSSQL中的编码问题
EN

Stack Overflow用户
提问于 2018-04-03 09:46:08
回答 1查看 546关注 0票数 1

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

代码语言:javascript
复制
insert into STUDENT (STUDENT_NAME, STUDENT_MARKS, SID) values ('索引', 10, 2)

STUDENTNAME柱为NVARCHAR型。

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

我知道上面的问题与编码有关,所以我修改了上面的查询,添加了N,如下所示:

代码语言:javascript
复制
insert into STUDENT (STUDENT_NAME, STUDENT_MARKS, SID) values (N'索引', 10, 2)

上述查询正在按预期运行,并正在成功插入汉字。

问:我正在使用JDBC来执行这个insert查询,所以我需要使用上面所示的N来处理所有的值。或者在驱动程序级别还有其他设置来修复这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-04-03 12:00:59

我在微软文章上发现了这个,

前缀Unicode字符串常量与字母N,没有N前缀,该字符串将转换为数据库的默认代码页。此默认代码页可能无法识别某些字符。

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

请跟随此链接发帖:

静脉曲张和nvarchar的区别?

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49626999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档