我有一个要插入到表中的字符串:
string command = @" insert into " + txnDC.Connection.Database + "..[AZGetPackages] ( [PackageID] , [PackageName] , [VendorID] , [VendorDisplayName] , [IsCustom] , [EPCustomerID] )" +
@"values( N'1', N'Package 1', N'11', N'Vendor 1', N'0', N''),
( N'2', N'Package 2', N'12', N'Vendor 2', N'0', N''),
( N'3', N'Package 3', N'13', N'Vendor 3', N'0', N''),
( N'4', N'雑誌コード', N'14', N'税込', N'0', N'')";
当我在该行之后放置一个断点并在调试中查看字符串时,它显示如下:
txnDC.ExecuteCommand(command, new object[0]); << breakpoint here to view command var
并显示||对于中文字符。
管道实际上是那些小矩形。
因此,当它向表中插入时,它会插入矩形字符,而不是我设置的实际字符。
有人在这里有什么建议吗?
谢谢!
最佳答案
我在其他人的机器上运行了完全相同的代码,它按预期工作,没有任何变化。这似乎是我系统上的显示问题。唯一不寻常的事情是我去度假,我的机器关闭了 10 天。我知道这可能无关紧要,但它似乎对我的系统做了一些与字体相关的事情。而且我不在的时候没有人碰我的机器,我在离开之前也没有做任何与字体相关的事情。
但有一个问题,记事本不会显示中文字符,VS 调试器也不会,SQL SSMS 网格结果 View 也不会。但是 VS .CS 文件字符串 var def 会,如果我粘贴到 SSMS 编辑器中,它也会显示它们。
疯了!
关于c# 不翻译 unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16925826/