当前位置: 首页 > 面试题库 >

插入后,SQL代码中的西里尔符号不正确

宋嘉懿
2023-03-14
问题内容

我使用SQL Server 2005,并且尝试存储西里尔字母,但是我无法通过尝试运行以下SQL代码来使用SQL代码:

INSERT INTO Assembly VALUES('袦邪泻械写芯薪褋泻懈 锌邪褉谢懈邪屑械薪褌 斜褉芯褬 1','','');

或从C#发生同样的问题,但是从SQL Server插入/更新列可以正常工作并且可以正常存储。

列的数据类型为nvarchar


问题答案:

您必须在字符串之前添加N前缀。

当您隐式声明一个字符串变量时,默认情况下会将其视为varchar。添加前缀N表示后续字符串采用Unicode(nvarchar)。

 INSERT INTO Assembly VALUES(N'袦邪泻械写芯薪褋泻懈 锌邪褉谢懈邪屑械薪褌 斜褉芯褬 1','','');


 类似资料:
  • 问题内容: 当用户在数据库中插入俄语单词如“锌褉松弛屑械Russian”时,数据库将其保存为“ ??????”。如果他们以’N’字母插入,或者我以’N’字母进行选择,即;exec Table_Name N’没有问题。但是我不想在每个查询中都使用“ N”,因此对此有什么解决方案吗?顺便说一下,我将使用存储过程。 更新: 现在,我可以使用带有排序规则的俄语字母。但是我无法更改每种语言的排序规则,我只想

  • 问题内容: 我正在尝试使用php的函数json_encode将西里尔UTF-8数组编码为JSON字符串。示例代码如下所示: 它工作正常,但脚本的结果表示为: 每个西里尔字母组成6个字符。有没有一种方法可以获取键/值对的原始字符,而不是编码的字符? 问题答案: 您不能在此处使用JSON_UNESCAPED_UNICODE常量吗?

  • 我正在解析一个xml文件,但西里尔字符有问题: 这是存储过程的相关部分 要解析的SOAP输入: 存储过程 问题是@s看起来是这样的 我把N放在所有输入的前面,但问题显然在前面:我可以假设是在 但我不知道如何解决它。 可以提出解决方案吗? 谢谢

  • Adobe Reader无法正确显示我的PDF。对于其他PDF阅读器来说,这是一个语法问题,因为我听说Adobe Reader对PDF语法要求更严格。字体似乎是它们应该的两倍大,但水平间距是正确的,这使得字体相互重叠。 这是我的C#代码(字体创建代码在本文末尾)。

  • 在python3程序中从MySQL打印西里尔文字时,我得到的是问号而不是文字。 我在MySQL表中看到的文本是。 我在python3程序中看到的文本是