SQL Server 2005 - 字符编码问题 [英] SQL Server 2005 - character encoding issue

查看:131
本文介绍了SQL Server 2005 - 字符编码问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



该列是nvarchar(1000),插入到语句看起来像

 N'ţşşţşţşţşîăâ./,şllkoăîâ='

但是内部的数据仍然显示如下:ªaâ./,?llkoaîâ=



有什么想法可以尝试?



编辑



我只是意识到我已经更改了数据库中的数据类型,但是linq2sql映射仍然使用varchar而不是nvarchar。



这是导致问题的原因 - 我只是在尝试手动插入后才看到。



谢谢。

解决方案

  CREATE TABLE Test(test nvarchar(1000))
INSERT Test (测试)VALUES(N'ţşşţşşşşşşăâş,şllkoăîâ=')

- SSMS查询窗格=正确的结果
SELECT * FROM Test

现在,右键单击对象资源管理器中的表,编辑顶部200行或选择顶部1000行在SSMS 2008中给出正确的结果, / p>

接下来,没有N前缀。数据根据您的问题被破坏

  INSERT Test(test)VALUES('ţşşşţşţşţşîăâ./,şllkoăîâ=')
SELECT * FROM Test
--givesîaâ./,?llkoaîâ=

因此,这表明SSMS和SQL的行为与广告完全相同:请向我们显示您用于插入数据的确切代码(或方法)


I'm trying to store this value : țșșțșțșțșîăâ./,șllkoăîâ= into a column in SQL Server.

The column is nvarchar(1000) and the insert statement looks like

N'țșșțșțșțșîăâ./,șllkoăîâ=' 

But the data inside is still showing up like : ?????????îaâ./,?llkoaîâ=

Any ideas on what I could try ?

EDIT

I just realized that I had changed the datatype in the database , but the linq2sql mapping remained with varchar instead of nvarchar.

That's what was causing the issue - I only saw that after trying the manual insert.

Thanks.

解决方案

CREATE TABLE Test (test nvarchar(1000))
INSERT Test (test) VALUES (N'țșșțșțșțșîăâ./,șllkoăîâ=')

-- SSMS query pane = correct results
SELECT * FROM Test

Now, right click the table in Object Explorer, "Edit top 200 rows" or "SELECT TOP 1000 rows" gives correct results in SSMS 2008 for me

Next, without N prefix. Data is broken as per your question

INSERT Test (test) VALUES ('țșșțșțșțșîăâ./,șllkoăîâ=')
SELECT * FROM Test
--gives ?????????îaâ./,?llkoaîâ=

So, this shows that SSMS and SQL are behaving exactly as advertised: please show us the exact code (or method) you are using to insert the data

这篇关于SQL Server 2005 - 字符编码问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆