我导入的数据库包含阿拉伯字符但显示为问号。通过一些搜索,我发现列数据类型应该是nvarchar以支持unicode(它们是varchar)。我将包含这些字符的其中一列更改为nvarchar,但数据仍显示为" ??"。如何将现有值更改为unicode并正确显示?
答案 0 :(得分:0)
您需要不同的整理。
在此处阅读更多内容:https://msdn.microsoft.com/en-us/library/ms143508.aspx
答案 1 :(得分:0)
您不能简单地将数据类型更改为nvarchar
- 因为数据类型已被“销毁”而无法将数据带回[&#34}。通过转换为非Unicode格式。
您需要使用nvarchar
,然后您需要插入(或更新)数据,使其不会将其转换回ANSI代码。
如果您使用T-SQL插入该Unicode代码,请务必使用N'...'
前缀:
INSERT INTO dbo.YourTable(NvarcharCol)
VALUES (N'nvarchar-value')
从C#或PHP或Ruby等前端语言,确保使用Unicode字符串 - .NET(C#和VB.NET)自动执行此操作。使用带参数的查询时,请确保为这些相关参数指定Unicode字符串类型。