回答

收藏

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

技术问答 技术问答 208 人阅读 | 0 人回复 | 2023-09-14

我使用SQL Server 2005,并且尝试存储西里尔字母,但是我无法通过尝试运行以下SQL代码来使用SQL代码:
- N% T- j5 [  V( x" sINSERT INTO Assembly VALUES('袦邪泻械写芯薪褋泻懈 锌邪褉谢懈邪屑械薪褌 斜褉芯褬 1','','');
9 N8 k: b7 r4 I8 ?" ]或从C#发生同样的问题,但是从SQL Server插入/更新列可以正常工作并且可以正常存储。  p# W5 h; R2 @( B4 P/ K0 j' P
列的数据类型为nvarchar。& y: i8 M1 `, H% g. o
               
7 S. C  o+ f. L6 C2 |7 o9 P  {" ]2 \/ \解决方案:# `/ z3 @+ R: K. y  m" F
               
( D' l1 k) h5 L. b' k/ r8 _' p, E( f; C4 o1 O* i
. V0 q3 j% E; e$ }* m) K1 E0 F! y
                您必须在字符串之前添加N前缀。" g( s' b6 j- Y# Z  H, d8 U! [" q
当您隐式声明一个字符串变量时,默认情况下会将其视为varchar。添加前缀N表示后续字符串采用Unicode(nvarchar)。+ J) i$ |6 \- ^5 g: ]  {. p* `
INSERT INTO Assembly VALUES(N'袦邪泻械写芯薪褋泻懈 锌邪褉谢懈邪屑械薪褌 斜褉芯褬 1','','');
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则