【问题标题】:Thai language Configuration in OracleOracle 中的泰语配置
【发布时间】:2015-04-24 09:51:57
【问题描述】:

我有一个关于在 oracle (PL/SQL Developer) 中配置泰语的问题。我在regedit 中配置了泰语'AMERICAN_AMERICA.TH8TISASCII'。我还在我的电脑中配置了环境变量。但是,当我连接 PL/SQL 开发人员并检索数据时,应该显示泰语描述的列仍然显示垃圾数据。请帮帮我。

垃圾数据示例为'¿¿¿¿¿¿¿¿'

Oracle 配置如下: regedit->computer->HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_OraDB11g_home1

窗口配置如下:

我的电脑->高级系统设置->高级系统 设置->环境变量->(这里我添加了变量)

我的同行完成了相同的配置,他们得到了配置,但我无法做到这一点

【问题讨论】:

  • 欢迎来到 Stack Overflow!如果可能的话,请edit您的问题包括一些垃圾数据的示例,以及您如何配置这些环境变量和连接信息的细节。感谢您提高问题的参考价值并使其更易于回答!
  • 我已经检查了这个问题。当我与 Toad 连接时,泰语看起来很好,但在连接到 PL/SQL 开发人员时我遇到了问题。请帮我找出这个

标签: oracle plsqldeveloper nls-lang


【解决方案1】:

我假设您在 PL/SQL Developer 中选择的字体不支持泰语字符。试试这个命令来检查:

SELECT UNISTR('Kho Khuat: \0E03') FROM DUAL;

你能得到这样的正确输出吗?

Kho Khuat: ฃ

如果没有,您应该选择支持泰语字符的字体。 您可以使用此页面FileFormat.info 来检查哪种字体支持您的字符。

NLS_LANG 的值应与您的 本地环境 设置匹配,而不是数据库中的设置。这样,所有字符都可以在 SQL 通信中正确翻译。

用这个命令检查你的本地环境:

c:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /v ACP

就我而言

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
    ACP    REG_SZ    1252

所以,我的 NLS_LANG 应该设置为 .WE8MSWIN1252 或类似的东西。

但是,这仅在您的应用程序(在您的情况下为 SQL Developer)使用 Windows 的默认编码设置时才有效。在某些应用程序中,您可以更改它 - 通常您可以在本地代码页和 Unicode (UTF-8) 之间切换。在这种情况下,您必须相应地修改NLS_LANG

【讨论】:

  • 字体可能不是问题。在我看来是权限问题。当我通过管理员登录时,泰语在 PL/SQL 中正确显示,但是当通过我自己的用户登录时,PL/SQL 开发人员正在显示垃圾。请建议我如何为我的用户分配任何特定权限
【解决方案2】:

我在 regedit 中配置了泰语“AMERICAN_AMERICA.TH8TISASCII”。

这意味着您已将 NLS_LANGUAGE 配置为 AMERICANNLS_TERRITORY 配置为 AMERICA。这是错误的。

您应该选择以下内容:

NLS_LANGAUGE=THAI 
NLS_TERRITORY=THAILAND

您需要这样做:

  1. 数据库级 - init.ora 文件
  2. 环境级别 - NLS LANG 设置

我认为你的字符集很好。

UPDATE OP 遇到了 PL/SQL Developer 工具的问题。

您可以在PL/SQL Developer安装目录AfterConnect.sql文件中输入“alter session”命令。例如:

更改会话集 nls_date_format='dd-mm-yyyy'; 更改会话集 nls_territory='THAILAND'; 更改会话集 nls_language='THAI';

source

【讨论】:

  • 你能帮我理解这一点吗?我已经在数据库级别进行了更改 - init.ora 文件。但问题仍然存在。我在此文件中添加了 NLS_LANGAUGE=THAI NLS_TERRITORY=THAILAND。但问题是那里。但也请帮助我配置 2.环境级别 - NLS LANG 设置。我在哪里可以做到这一点。
  • 与 Toad 连接时泰语显示正常,但与 PL/SQL Developer 连接时,泰语显示垃圾。请帮助
  • Lalit 先生,但我在 afterconnect 文件中添加了脚本,但仍然相同。我不知道到底发生了什么。Toad 很好,但 PL/SQL 很麻烦
  • 我应该重新安装 PL SQL Developer 吗?我正在使用版本 8.0.0.1480 01.2061660864
  • 如果您说 TOAD 很好,但 PL/SQL Developer 有问题。然后您发现问题仅与 PL/SQL Developer NLS 设置有关。我给了你所有你需要的信息,你只需要在 PL/SQL Developer 中修复它。我没有检查工具,但是,看看你是否在这里找到有用的东西lalitkumarb.wordpress.com/2014/08/14/plsql-developer-settings 我坚持要从SQL*Plus 那里检查。如果您能够在 SQL*PLus 中看到泰语,那么问题出在 PL/SQL Developer 工具上。
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 2021-05-08
  • 2019-05-27
  • 2019-06-13
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 2016-12-17
相关资源
最近更新 更多