我有一个包含两个阿拉伯语列first_name和last_name的表。 如果我尝试从数据库中获取列并在textBoxes中显示它完美, 但是如果我尝试在textBox中编写阿拉伯语文本并通过以下代码获取服务器中的文本:txtArabicFirstName.Text文本出现错误,如Gibberish
这是我在aspx页面中的第一行:
请帮忙!
答案 0 :(得分:0)
你实际上没有发布代码,这没有帮助,但我相信你的问题可能是数据库,更准确地说是如何存储数据。
如果是这种情况,有几种方法可以解决问题:
<强> 1。将排序规则切换为支持阿拉伯字符集的排序规则。
您可以找到支持它们的排序规则,但运行以下查询:
SELECT name, description
FROM fn_helpcollations()
WHERE name LIKE 'Arabic%'
然后转到您的表格或数据库设置并切换到您想要的类型。
另一个选项可能会更容易,具体取决于您的问题发生的位置以及您希望支持的字符集数量
<强> 2。使用NVARCHAR
数据类型代替VARCHAR
NVARCHAR
允许您在数据库中存储unicode字符(如阿拉伯语脚本)。请注意,对于您存储的每个字符,它将使用2个字节而不是1个字节,但您几乎可以存储任何您可能想要存储的内容。
答案 1 :(得分:0)
尝试在web.config中更改请求和响应的编码,如下所示:
<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-US"/>
</system.web>
</configuration>
仅限一页
<configuration>
<location path="yourfile.aspx">
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>
</location>
<configuration>
答案 2 :(得分:0)
除了Butler1233提到的内容之外,对于Unicode字符使用前缀&#39; N&#39; ,例如下面的阿拉伯字符。
INSERT INTO table_name (first_name, last_name)
VALUES (N'arabic_first_name', N'arabic_last_name');