如何读取存储在 VARCHAR 字段中的 ASP.Net 中的阿拉伯字符
How to read Arabic character in ASP.Net that is stored in VARCHAR field
在我的数据库中有一个存储阿拉伯名字的字段。字段类型为 VARCHAR
.
当我在 SQL 编辑器中 运行 SELECT
语句获取记录时,它显示值 ãÇ äÇá 实际上是 ما نال
问题是当我在 ASP.Net 中显示此值时,它显示为 ÒÃ õÃß。我已将页面编码更改为 UTF-8,但没有成功。如何在存储在 VARCHAR
字段中的 ASP.Net 中正确显示阿拉伯语名称?请注意无法在数据库中更改字段类型。
您的排序错误 - 您将阿拉伯语排序的数据存储在非阿拉伯语排序的 varchar
列中。
但是,您应该能够通过使用 collate
关键字为 select
强制执行正确的排序规则。快速示例:
select [Text] collate Arabic_CI_AI_KS_WS from YourTable;
如果这没有帮助,则数据已错误地插入 table。有点问题。
首先,您必须找到导致您现在所处位置的正确错误编码。问题是,很可能您实际上正在处理 MS SQL 特定的编码,这在 .NET 中可能不容易处理。
找到解决方案。使用
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;"/>
在我的数据库中有一个存储阿拉伯名字的字段。字段类型为 VARCHAR
.
当我在 SQL 编辑器中 运行 SELECT
语句获取记录时,它显示值 ãÇ äÇá 实际上是 ما نال
问题是当我在 ASP.Net 中显示此值时,它显示为 ÒÃ õÃß。我已将页面编码更改为 UTF-8,但没有成功。如何在存储在 VARCHAR
字段中的 ASP.Net 中正确显示阿拉伯语名称?请注意无法在数据库中更改字段类型。
您的排序错误 - 您将阿拉伯语排序的数据存储在非阿拉伯语排序的 varchar
列中。
但是,您应该能够通过使用 collate
关键字为 select
强制执行正确的排序规则。快速示例:
select [Text] collate Arabic_CI_AI_KS_WS from YourTable;
如果这没有帮助,则数据已错误地插入 table。有点问题。
首先,您必须找到导致您现在所处位置的正确错误编码。问题是,很可能您实际上正在处理 MS SQL 特定的编码,这在 .NET 中可能不容易处理。
找到解决方案。使用
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;"/>