当我通过TextBox提供输入并存储在数据库中时:
"Under ( امارات .) english"
所以实际存储的是什么:
"Under ( ??.?????.) english"
即使我使用数据类型作为nvarchar(Max)。如何解决它?请尽快回答我。感谢。
答案 0 :(得分:1)
尝试N'Unicode数据'
N'Under ( امارات .) english'
而非简单
'Under ( امارات .) english'
插入数据时。 N在这里意味着国家。
答案 1 :(得分:1)
希望这能说明为什么你需要将它存储为Unicode(* N * varchar)[由VahidN建议]以及为什么它与Collation绝对没有关系(如其他地方所建议的那样)
请尝试以下代码:
CREATE TABLE t_test (
txt varchar(1000) COLLATE Latin1_General_BIN,
arabic varchar(1000) COLLATE Arabic_100_CI_AI_KS_WS,
chinese varchar(1000) COLLATE Chinese_Simplified_Pinyin_100_CI_AI,
ntxt nvarchar(1000) COLLATE Latin1_General_BIN,
narabic nvarchar(1000) COLLATE Arabic_100_CI_AI_KS_WS,
nchinese nvarchar(1000) COLLATE Chinese_Simplified_Pinyin_100_CI_AI,
)
GO
INSERT t_test (txt, arabic, chinese, ntxt, narabic, nchinese)
VALUES ('Under ( امارات .) english',
'Under ( امارات .) english',
'Under ( امارات .) english',
N'Under ( امارات .) english',
N'Under ( امارات .) english',
N'Under ( امارات .) english')
SELECT * FROM t_test
答案 2 :(得分:1)
选择projectname然后右键单击然后proparties然后设置然后选择conniction字符串单击列值然后选择....屏幕连接proparties将出现在此屏幕上选择advanced然后选择character和wright utf8然后选择treat blobs作为utf8更改值为了真实所有阿拉伯数据将转移到我的SQL。