阿拉伯语转换为????在 oracle 中提交后

Arabic is converted to ???? after committing in oracle

我是 oracle 的新手,我有一个关于阿拉伯字符的问题。实际上我有一个存储过程,除了阿拉伯参数外,它工作正常,它将它们转换为 ???在我承诺之后。这是一个示例 before commit and after

我正在使用 oracle 10g 客户端,查询 "select value from nls_database_parameters where parameter='NLS_CHARACTERSET'; " 返回 AR8MSWIN1256。

知道如何解决这个问题吗? 提前谢谢你。

已解决

转到控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 在系统变量部分检查 NLS_LANG 是否存在,如果存在则设置值 ARABIC_AMERICA.AL32UTF8,如果没有则添加一个新的。

然后注册表编辑器 -> HLM -> 软件 -> Oracle -> Key_name_home1 将 NLS_LANG 值设置为 ARABIC_AMERICA.AL32UTF8

重启你的电脑 注意:此解决方案适用于 windows 2007,64 位