SAP Knowledge Base Article - Public

1714916 - 日本語環境の Crystal レポートで、関数 ExtractString() で使用される中国語文字が文字化けする

Symptom

  • 関数 ExtractString() で使用される中国語文字が文字化けします。

Environment

  • Crystal Reports 2008
  • 日本語の OS および製品ロケール

Reproducing the Issue

  1. Crystal Reports 2008 にログインします。
  2. 新規レポートを作成し、新規式フィールド [test1] を中国語の文字列 "卡达发达尔-哈萨萨法萨" を使用して作成します。
  3. 別の式フィールド [test2] "ExtractString({@test1},"-","_")" を作成し、部分的に文字列を取得します。
  4. フィールドをレポートにドラッグします。
    => [test2] から返されるデータが文字化けします。
  5. レポートをリポジトリに保存して BusinessObjects InfoView (InfoView) で表示します。
    => データが同様に文字化けします。

Cause

関数 ExtractString() では、Crystal Reports デザイナの優先表示ロケール設定によってコンテンツがコードに変換されます。優先表示ロケール設定を変更すると ExtractString() の結果が変わるのは、このためです。文字が Unicode から日本語のコードに変換され、その後に ExtractString() の設定に応じて処理されます。"哈" または "法" などの一部の中国語文字は日本語にもあるため、適切に表示されますが、"萨" または "卡" などの日本語にはない文字では表示の問題が発生します。これは、関数 ExtractString を ExtractString({@new},"萨","_") に変更すると結果は不適切ですが、ExtractString({@new},"哈","_") を使用すると結果が適切であることからもわかります。つまり、システムで "萨" が認識されません。

Resolution

回避方法:

クライアント側のマシンで、オペレーティングシステムの Unicode 非対応の設定を中国語に変更してください ("コントロール パネル -> 地域と言語のオプション -> 詳細設定" を選択します)。

See Also

この問題は、InfoView で Crystal レポートを表示する場合でも発生します。InfoView でのこの問題を解決するための回避方法は、現時点では提供されません。
SP6 の InfoView でこの問題を修正する要求として、問題調査要求 ADAPT01638080 が登録されています。

調査が進行中のため、修正のリリース予定は変更される場合があることに注意してください。この問題は、製品グループにより
調査後に仕様または製品の制限として判断される可能性もあります。

Keywords

cr, variable, double bytes, cut, invisible, ZH, CH, show, JP env, 変数, 2 バイト, 切り詰め, 非表示, 表示, 日本語環境, コントロールパネル , KBA , BI-RA-CR , Crystal Reports designer or Business View Manager , Problem

Product

Crystal Reports 2008 V0 ; Crystal Reports 2008 V1 ; SAP Crystal Reports 2011 ; SAP Crystal Reports 2011, feature pack 03