在我的数据库中有一个存储阿拉伯名字的字段。字段类型为VARCHAR
。
当我在SQL编辑器中运行SELECT
语句来获取记录时,它会显示值ãÇäÇá,实际上是مانال
问题是当我在ASP.Net中显示此值时,它显示为ÒÃõÃß。我已将页面编码更改为UTF-8但没有运气。如何在ASP.Net中正确显示存储在VARCHAR
字段中的阿拉伯名称?请注意,无法在数据库中更改字段类型。
答案 0 :(得分:1)
您的整理错误 - 您将阿拉伯语整理的数据存储在非阿拉伯语整理的varchar
列中。
但是,您应该可以使用select
关键字为collate
强制执行正确的排序规则。快速示例:
select [Text] collate Arabic_CI_AI_KS_WS from YourTable;
如果这没有帮助,则数据已经在表格中错误地插入。这有点问题。
首先,您必须找到导致您现在所处位置的正确错误编码。问题是,您很可能实际上正在处理特定于MS SQL的编码,这在.NET中可能不容易处理。
答案 1 :(得分:0)
找到解决方案。使用
KeepOrgMultibyte = 1
在web.config中的Sybase连接字符串中。示例如下。
<add name="Sybase" connectionString="Data Source='192.168.0.70';Port=9100;UID='myuser';PWD='mypassword';Database='mydatabase';KeepOrgMultibyte=1;"/>