作成日: 2014/10/03 最終更新日: 2014/10/03
文書種別
制限事項
詳細
C1Reportデザイナのカスタムフィールドで拡張バーコードを選択し、BarcodeTypeをQRCodeに設定して、Textプロパティに韓国語を入力します。生成されたQRコードを、携帯やスマートフォンなどのバーコードリーダーで読み取ると、文字化けして「??????」と表示されます。
韓国語を用いる場合、QRコードのエンコードとして「8ビットバイト」を設定する必要がありますが、QRコードを作成するためのGCBarCodeフィールドにはエンコードを指定する機能がないため、Textプロパティに韓国語を入力すると文字化けが発生します。この動作は「Reports for WinForms」の制限事項となります。
韓国語を用いる場合、QRコードのエンコードとして「8ビットバイト」を設定する必要がありますが、QRコードを作成するためのGCBarCodeフィールドにはエンコードを指定する機能がないため、Textプロパティに韓国語を入力すると文字化けが発生します。この動作は「Reports for WinForms」の制限事項となります。
回避方法
バーコードの値をバイナリで設定できるValueBinaryプロパティを利用できます。
韓国語の文字列を一度バイナリデータに変換したのち、これをGCBarCodeフィールドのValueBinaryプロパティに設定するコードを追加してください。
◇サンプルコード
----------------
c1Report1.Load("Test_GCBarcode.xml", "新規レポート");
C1.C1Report.CustomFields.GCBarcode QR = new C1.C1Report.CustomFields.GCBarcode();
QR = (C1.C1Report.CustomFields.GCBarcode)c1Report1.Fields["Field1"];
QR.ValueBinary = System.Text.Encoding.UTF8.GetBytes("☆☆☆☆");
c1PrintPreviewControl1.Document = c1Report1;
----------------
※ "☆☆☆☆"の部分に、韓国語を設定してください。
なお、C1Reportデザイナでは、GCBarcodeフィールドのプロパティ一覧に「ValueBinary」プロパティが表示されますが、これをクリックして表示されるバイナリエディタにはバイナリデータを設定する機能はありません。代わりに、VBScriptを用いて設定することができます。
C1Reportデザイナで、GCBarCodeフィールドを配置したセクション(例:Detailセクション)のOnPrintイベントに、以下のようなVBScriptを記述してください。
◇VBScript
----------------
Field1.ValueBinary = Field1.Value
----------------
※「Field1」は、GCBarCodeフィールドの名前です。
韓国語の文字列を一度バイナリデータに変換したのち、これをGCBarCodeフィールドのValueBinaryプロパティに設定するコードを追加してください。
◇サンプルコード
----------------
c1Report1.Load("Test_GCBarcode.xml", "新規レポート");
C1.C1Report.CustomFields.GCBarcode QR = new C1.C1Report.CustomFields.GCBarcode();
QR = (C1.C1Report.CustomFields.GCBarcode)c1Report1.Fields["Field1"];
QR.ValueBinary = System.Text.Encoding.UTF8.GetBytes("☆☆☆☆");
c1PrintPreviewControl1.Document = c1Report1;
----------------
※ "☆☆☆☆"の部分に、韓国語を設定してください。
なお、C1Reportデザイナでは、GCBarcodeフィールドのプロパティ一覧に「ValueBinary」プロパティが表示されますが、これをクリックして表示されるバイナリエディタにはバイナリデータを設定する機能はありません。代わりに、VBScriptを用いて設定することができます。
C1Reportデザイナで、GCBarCodeフィールドを配置したセクション(例:Detailセクション)のOnPrintイベントに、以下のようなVBScriptを記述してください。
◇VBScript
----------------
Field1.ValueBinary = Field1.Value
----------------
※「Field1」は、GCBarCodeフィールドの名前です。
旧文書番号
80975