PL / SQL阿拉伯语显示为?

时间:2012-11-17 12:04:46

标签: sql plsql arabic plsqldeveloper

当我在PL / SQL Developer中查询具有阿拉伯语文本的数据时,它显示为问号(????)。

我确信数据已正确存储在数据库中,因为它可以在网站上正确显示,也可以在服务器上显示。

所以我认为这是与我的PL / SQL Developer(v8.0.4.1514)相关的问题。

  • 有没有办法改变PL / SQL Developer显示/编码阿拉伯语文本的方式?

  • 如何检查存储阿拉伯语文本的格式/编码?

我的问题可能会遗漏一些细节,所以请问我,并记住我是PL / SQL和SQL的初学者。

谢谢。

4 个答案:

答案 0 :(得分:1)

您可SET NLS_LANGUAGE

ALTER SESSION SET NLS_LANGUAGE = 'ARABIC'阿拉伯语

它可能是解决方案,如果没有,你可以提供有关O / S及其版本的更多信息,等等

答案 1 :(得分:0)

我找到了一个解决方案(可能也适用于显示为“????”的其他语言)

我将注册表中的NLS_LANG更改为AMERICAN_AMERICA.AL32UTF8

(我在注册表中发现了3个NLS_LANG,检查每一个,或者像我一样更改它们。)

然后重新启动PL / SQL开发人员,测试查询并正常显示阿拉伯语文本。

谢谢大家。

答案 2 :(得分:0)

可能安装了多个oracle实例,因此您必须为所有实例设置默认编码。只需按照以下说明进行操作即可:

  1. 打开注册表编辑器,然后转到Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Oracle。每个实例都有一个或多个键:

enter image description here

  1. 对于每个键的每个,右键单击并创建一个名为NLS_LANG的字符串值(如果尚不存在):

enter image description here

  1. 然后将其值设置为AMERICAN_AMERICA.AL32UTF8,只需在PL / SQL中刷新查询即可。

enter image description here

答案 3 :(得分:-1)

在registery中找到NLS_LANG并将其值从AMERICAN_AMERICA.WE8MSWIN1252更改为AMERICAN_AMERICA.UTF8 对波斯人来说,这对我来说很好。