2

Windows 7でOracleフォーム10gからExcelに漢字をエクスポートすると、問題が発生します。中国語のように見えますが、漢字ではありません。私はすでにコンピューターの言語を中国語に変更し、コンピューターを再起動したことを考慮に入れてください。私はowa_sylkユーティリティを使用し、次のようにExcelレポートを呼び出します。

    v_url := 'http://....../excel_reports.rep?sqlString=' ||
       v_last_query      || 
       '&font_name='     ||       
       'Arial Unicode MS'||
       '&show_null_as='  ||
       ' '               ; 

web.show_document(v_url,'_self');

ここでは、それがどのように見えるかを見ることができます: ここに画像の説明を入力してください

興味深いことに、コンピューターの言語を英語に変更すると、この列は空になります。また、テキストエディタでファイルを開くと正しい中国語の単語が含まれていることに気付きましたが、Excelで開くと問題が発生します。

誰かが手がかりを持っていますか?

ありがとう

4

2 に答える 2

1

はい、問題はさまざまなエンコーディングに起因します。DB が UTF-8 を使用していて、ASCII を Excel に送信する必要がある場合は、owa_sylk 内でデータを変換できます。関数convertを使用します。

たとえば。関数 owa_sylk.print_rows で p( line ) を変更します。 on p(convert(line, 'ZHS32GB18030','AL32UTF8')); ここで、「ZHS32GB18030」は中国語の ASCII と「AL32UTF8」 - UTF-8 のいずれかです。

エンコーディング パラメータを選択するには、付録 Aを使用します。

*SELECT * FROM V$NLS_VALID_VALUES WHERE parameter = 'CHARACTERSET'* を実行して、サポートされているすべてのエンコーディングを確認することもできます。

于 2013-03-07T18:49:05.613 に答える
0

これは文字エンコードの問題です。チェーン全体 (データベース、Web サービス、Excel、テキスト エディター、および Web ブラウザー) のすべてのツールが同じ文字エンコーディングを使用していることを確認する必要があります。

ここでは言語を変更することが役立ちますが、チェーンの各部分のエンコーディングを明確にすることをお勧めします。

たとえば、Web ブラウザーは、OS の言語設定よりも Web サーバーによって提供されるエンコーディングを優先します。

この質問を参照してください。 Oracle の UTF-8 エンコーディング (任意の形式で中国語を適切に表示できます) を設定する方法: export utf-8 data to text file with oracle sql developer

owa_sylk のエンコーディングを設定する方法がわかりません。ドキュメントを確認する必要があります (ただし、見つかりませんでした)。何も見つからない場合は、こちらで質問するか、別のツールを使用してください。

したがって、誰が実行excel_reports.repし、それを正しく構成するかを調べる必要があります。Web ブラウザーの開発者ツールを使用して、ページの「文字セット」または「エンコード」を確認します。

Excel の問題は、入力するファイル形式に基づいています。Excel (.xls および .xlsx ファイル) ファイルは Unicode に対して安全ですが、.csv は安全ではありません。そのため、テキスト エディターでファイルを読み取ることができる場合、これは Excel で解析できる非 Excel ファイル形式である可能性がありますが、必要なエンコード情報が含まれていません。

上記の手順で UTF-8 でエンコードされたファイルを生成できた場合は、[ファイルの作成元] の横に表示されるドロップダウン リストから [65001: Unicode (UTF-8) を選択] を使用してファイルを読み込むことができます。「テキストインポートウィザード」(source

于 2013-03-05T15:28:37.307 に答える