両方のクライアントが 1 つのマシンにインストールされている場合、NuGenesis SDMS または Empower に正しくない中国語/日本語/韓国語の文字が表示される - WKB47796
症状
- NLS_LANG パラメーターの設定に応じて、以下の症状の 1 つ以上が存在する。
- Empower クライアントに正しくない CJK 文字が表示される
- SDMS Administrator に正しくない CJK 文字が表示される
- SDMS は、ファイル名に CJK 文字を含むファイルをアーカイブできない
環境
- NuGenesis 9 SDMS
- NuGenesis 8 SDMS
- Empower 3
- Empower クライアントと SDMS Administrator クライアントが 1 台のマシンにインストールされている
- Windows システムのロケールが中国語、日本語、または韓国語のテキストに対して適切に設定されている
- NLS_LANG パラメーターが、システム変数として設定されるか、Empower の Oracle クライアントホームのレジストリーキーを介して設定されます
原因
SDMS および Empower は、異なる文字セットおよび互換性のない文字セットを使用してデータベースからの文字を解釈します。CJK 環境には、両方のクライアントに適した NLS_LANG 設定はありません。
解決策
CJK インストールの場合、SDMS および Empower クライアントソフトウェアを別々のマシンにインストールします。
追加情報
SDMS および Empower クライアントソフトウェアの英語版インストールの場合、両方のアプリケーションに Empower で Oracle クライアントを使用することを推奨します。ただし、これは CJK 環境には適していません。
すべての言語について、Empower は、Oracle クライアントのレジストリーキーの NLS_LANG を「AMERICAN_AMERICA.WE8ISO8859P1」に設定します。このキーにより、Empower で Oracle クライアントを使用するすべてのデータベース接続で、文字セットが ISO8859-01 に設定されます。Oracle データベースへのシグナルでは、クライアントが ISO8859-01 文字セットを使用しており、データベースが取得したテキストデータをデータベースの文字セット(NuGenesis の場合は既定で AL32UTF8、Empower の場合は既定で WE8ISO8859P1)から ISO8859-01 に変換する必要があることが示されます。
一方、NuGenesis SDMS は、取得されたテキストをクライアント OS のロケールに従って解釈します。例えば、簡体字中国語を使用するクライアントの場合、使用する正しい NLS_LANG パラメーターは SIMPLIFIED CHINESE_CHINA.ZHS16GBK です。SDMS により、インストール時に NLS_LANG 環境変数が適宜設定され、この変数により、レジストリーキーの設定がオーバーライドされます。結果として、Empower には無効な文字が表示されます。
NLS_LANG パラメーターに関する Oracle の FAQ:NLS_LANG FAQ (oracle.com)
id47796, EMP2LIC, EMP2OPT, EMP2SW, EMP3GC, EMP3LIC, EMP3OPT, EMP3SW, EMPGC, EMPGPC, EMPLIC, EMPOWER2, EMPOWER3, EMPSW, SDMS, SDMS8, SDMS8NU, SUP, SUPISDMS, SUPNG