画面から入力した値が画面遷移後に文字化けしてしまう場合の対応方法

フォローする

Classic エンジンを使ったロボットにおいて、下記の様に一定の文字が画面遷移後文字化けしてしまうことがあります。

entering_keyword_may_garble.png

garbling_result.png

発生する場合の特徴としては、Webサイトを構成する文字コードが外部リンクファイルも含め複数の文字コードファイルで成り立っている場合が多い気がします。(たとえばじゃらんのサイトではWebページ自体はShift_JISで書かれているものの、リンクする複数の外部ファイルに対してはUTF-8指定がしてあるものもあります。)

本件の場合、テキストボックスの文字列をサーバ側にクエリとして送信する時点で本来あるべき文字コードとは別のエンコーディングでKapowがクエリを作成してしまった結果、上記の様に当該文字コードでは対応していない文字を化けさせてしまったのではないかと思われます。(上記の結果は下記設定がAutomaticおよびShift_JISの場合の結果なので、ロボット側は本来の文字コードではなく、画面自体が構成されているShift_JISとしてクエリを生成したものと思われます。)

具体的な設定方法としては以下、Design StudioのRobot Configuration(ロボットの設定)から「Form Parameter Encoding(フォームパラメータエンコーディング)」の設定値を変更します。

2014-11-18_14-40-02.png

本ページの場合、Windows-31jに設定を変更することにより下記の通り文字化けは解消されますが、Webサイトの作りにより設定すべき文字コードはそれぞれ異なりますので、トライアンドエラーで有効な文字コードを実際には探していくことになります。

no_garbling_result.png