2009-08-28 12 views
1

私たちは、「繁体字中国語」の文字と英語が含まれているように、Oracleデータベースを持ち、かつ環境は次のとおりです。異なるデータベースエンコーディング間のトランスポートデータはどのようになっていますか?

PARAMETER VALUE 
NLS_LANGUAGE AMERICAN 
NLS_TERRITORY AMERICA 
NLS_CURRENCY $ 
NLS_ISO_CURRENCY AMERICA 
NLS_NUMERIC_CHARACTERS ., 
NLS_CHARACTERSET WE8PC850 
NLS_CALENDAR GREGORIAN 
NLS_DATE_FORMAT DD-MON-RR 
NLS_DATE_LANGUAGE AMERICAN 
NLS_SORT BINARY 
NLS_TIME_FORMAT HH.MI.SSXFF AM 
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM 
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR 
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR 
NLS_DUAL_CURRENCY $ 
NLS_COMP BINARY 
NLS_LENGTH_SEMANTICS BYTE 
NLS_NCHAR_CONV_EXCP FALSE 
NLS_NCHAR_CHARACTERSET UTF8 
NLS_RDBMS_VERSION 9.2.0.4.0 

そして、私は「ANSI」エンコーディングとして* .sqlファイルに、このデータベース内のすべてのデータをエクスポートそれを同じコンピュータで開くと、すべての中国語の文字が壊れています。

そして、私は別のOracleにインポートし、環境があるとき:

> NLS_LANGUAGE|AMERICAN 
> NLS_TERRITORY|AMERICA NLS_CURRENCY|$ 
> NLS_ISO_CURRENCY|AMERICA 
> NLS_NUMERIC_CHARACTERS|., 
> NLS_CHARACTERSET|WE8MSWIN1252 
> NLS_CALENDAR|GREGORIAN 
> NLS_DATE_FORMAT|DD-MON-RR 
> NLS_DATE_LANGUAGE|AMERICAN 
> NLS_SORT|BINARY 
> NLS_TIME_FORMAT|HH.MI.SSXFF AM 
> NLS_TIMESTAMP_FORMAT|DD-MON-RR 
> HH.MI.SSXFF AM 
> NLS_TIME_TZ_FORMAT|HH.MI.SSXFF AM TZR 
> NLS_TIMESTAMP_TZ_FORMAT|DD-MON-RR 
> HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY|$ 
> NLS_COMP|BINARY 
> NLS_LENGTH_SEMANTICS|BYTE 
> NLS_NCHAR_CONV_EXCP|FALSE 
> NLS_NCHAR_CHARACTERSET|AL16UTF16 
> NLS_RDBMS_VERSION|10.2.0.1.0 

中国語の文字がまだ破損しています。 誰かからアドバイスをいただけますか?

私は "tranditional chinese"や "簡体字中国語"を "ANSI"エンコーディングのテキストファイルに保存することができ、文字が壊れないようにする別の問題があります。しかしいつかそれは...なぜ 誰かがこれらの奇妙なことをすべて説明することができますか?

ありがとうございます!

答えて

0

漢字が「壊れている」理由は、文字セット「ANSI」(windows-1252)にないためです。この文字セットには、ラテン文字のみが含まれます。

いくつかのアプリケーションが間違ったキャラクタセットを使用していることを理解するのに十分なほど巧妙であるため、偶然にそれらをいくつかのアプリケーションで認識させることがあります(exepleple )。あなたのケースではしかし、あなたはどちらかのはず:

  • はつまり、中国語の文字を含む文字セットを使用する:UTF-8、
  • setup your client applicationを漢字(NLS_LANG=AMERICAN_AMERICA.UTF8)および使用を含む文字セットを使用しますあなたのために仕事をするユーティリティ(SQL * Loader、データベースリンク...)
関連する問題