如何读取存储在VARCHAR字段中的ASP.Net中的阿拉伯字符

时间:2015-06-23 12:02:27

标签: asp.net database utf-8 arabic varchar

在我的数据库中有一个存储阿拉伯名字的字段。字段类型为VARCHAR

当我在SQL编辑器中运行SELECT语句来获取记录时,它会显示值ãÇäÇá,实际上是مانال

问题是当我在ASP.Net中显示此值时,它显示为ÒÃõÃß。我已将页面编码更改为UTF-8但没有运气。如何在ASP.Net中正确显示存储在VARCHAR字段中的阿拉伯名称?请注意,无法在数据库中更改字段类型。

2 个答案:

答案 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;"/>