エンコード形式の変換
英語以外の言語で作業する場合,文字列またはパラメータ・ファイルのエンコードの変換が必要になる場合があります。
このトピックの内容:
文字列のエンコーディング形式の変換
ヒント: LoadRunner Controller および Analysis で表示するために,スクリプト内のすべてのトランザクション名を UTF-8 エンコーディングに変換するには,「トランザクション名の UTF-8 エンコーディングへの変換」を参照してください。
lr_convert_string_encoding 関数を使用すると,次の構文を使用して文字列のエンコーディング(UTF-8,Unicode,またはロケール・マシン・エンコーディング)を手動で変換できます。
lr_convert_string_encoding(char * sourceString, char * fromEncoding, char * toEncoding, char * paramName)
この関数は,結果の文字列(終端の NULL を含む)を第 3 引数 paramName
に保存します。変換に成功した場合は 0 を返し,失敗した場合は -1 を返します。
fromEncoding 引数および toEncoding 引数の形式は次のとおりです。
LR_ENC_SYSTEM_LOCALE
![]() |
NULL
![]() |
LR_ENC_UTF8
|
"utf-8"
|
LR_ENC_UNICODE
|
"ucs-2"
|
次の例では,lr_convert_string_encoding によって「Hello world」をシステム・ロケールから Unicode に変換しています。
Action() { int rc = 0; unsigned long converted_buffer_size_unicode = 0; char *converted_buffer_unicode = NULL; rc = lr_convert_string_encoding("Hello world", NULL, LR_ENC_UNICODE, "stringInUnicode"); if(rc < 0) { // error } return 0; }
再生ログでは,出力ウィンドウに次の情報が表示されます。
出力: アクション Action を開始しています。 Action.c(7):通知:パラメータ "stringInUnicode = H\x00e\x00l\x00l\x00o\x00 \x00w\x00o\x00r\x00l\x00d\x00\\x00" を保存しています。 アクション Action を終了しています。
変換の結果は paramName
引数に保存されます。
パラメータ・ファイルのエンコーディング形式の変換
パラメータ・ファイルには,スクリプトの中で定義されたパラメータに対応するデータが収められています。このファイルはスクリプトのフォルダに格納され,拡張子 *.dat が付けられます。スクリプトを実行するとき,仮想ユーザはこのデータを使用して,アクションをさまざまな値で実行します。
標準設定では,パラメータ・ファイルはマシンのエンコーディングを使用して保存されます。しかし,英語以外の言語で作業を行うときは,サーバにおいて文字列を UTF-8 で受信することが前提となっている場合に,パラメータ・ファイルを UTF-8 に変換する必要があることがあります。これは,メモ帳から直接行うことができます。
UTF-8 エンコーディングをパラメータ・ファイルに適用するには,次の手順を実行します。
-
[仮想ユーザ]>[パラメータ リスト]を選択し,パラメータ・プロパティを表示します。
-
右側のペインにある[ファイル パス]ボックスで,パラメータ・ファイルを探します。
-
パラメータ・テーブルを表示した状態で,[メモ帳で編集]をクリックします。メモ帳が開き,パラメータ・ファイルが csv 形式で表示されます。
-
[ファイルの種類]ボックスで,[すべてのファイル]を選択します。
-
[保存]をクリックします。既存のパラメータ・ファイルを上書きしてもよいかどうかの確認を求められます。[はい]をクリックします。
[文字コード]ボックスで,エンコーディングのタイプとして[UTF-8]を選択します。
これで,パラメータ・ファイルが VuGen によって UTF-8 テキストとして認識されるようになります。ただし,表示上は通常の文字で表示されます。
トランザクション名の UTF-8 エンコーディングへの変換
標準設定では,VuGen はスクリプトに含まれる英語以外の文字に ANSI エンコーディングを使用します。LoadRunner Controller および Analysis では,ANSI エンコーディングを使用すると英語以外の文字が正しく表示されない場合があります。英語以外の文字を使用したトランザクション名の場合,実行時に Unicode UTF-8 エンコーディングを使用するようにスクリプトを設定することで,文字が正しく表示されるようにすることができます。
スクリプト・ロケールが次のいずれかである場合,Load Generator はスクリプトに使用する適切なコード・ページを識別できます。
-
zh-CN
-
ja-JP
-
ko-KR
他のロケールの場合,標準設定では,Load Generator はシステム・ロケールのコード・ページを使用します。または,スクリプト・ファイルで,使用する特定のコード・ページを定義できます。
トランザクション名を UTF-8 エンコーディングに変換するには,次の手順を実行します。
-
Controller マシンで,フォルダ<LoadRunner Professional ルート・フォルダ>\config を開きます。
-
テキスト・エディタで wlrun7.ini を開き,UseUtf8 =1 を追加します。
-
ファイルを保存します。
スクリプト・ファイルでコード・ページを指定するには,次の手順を実行します。
-
テキスト・エディタで,スクリプトの .usr ファイルを開きます。
-
General セクションに,ScriptCodePage=<コード・ページ>を追加します。
-
ファイルを保存します。
関連項目: