#はじめに
【前回の記事】
Automation Anywhere A360でQRコードを生成してみる - Qiita
###現在のバージョンのQR Code Generatorは日本語未対応
前回はAutomation Anywhere Automation 360によるQRコード生成をご紹介しましたが、
実は現在のバージョンのQR Code Generatorアクションは、日本語などの文字コードに未対応となっています。
そのため、日本語を含む文字列をQRコード化し、読み込もうとすると以下の写真のように文字化けしてしまいます。
#解決方法
このQRコード生成パッケージ自体を日本語化してくれたら話が早いんですが、
今回はこのままでも何とかする方法を考えてみます。
色々方法はあると思いますが、今回は文字列をURLエンコードして、QRコード生成を生成し、
読み取り後に複合し、日本語を含む文字列に戻す方法を取ろうと思います。
(同パッケージの日本語対応依頼も出してはいますが、対応時期は不明です。)
#処理の流れ
- 日本語を含む文字列を生成
- JavaScriptで文字列をURLエンコードする
- URLエンコードした文字列を元にQRコードを生成する
- QRコードを読み取る
- 読み取った文字列をJavaScriptでデコード(復号)する
- 終了
#実際に組んでみる
ということで、実際にやってみましょう。
###JavaScript部分
function getEncodedText(a){
return encodeURI(a);
}
function getDecodedText(a){
return decodeURI(a);
}
###大枠はこんな感じ
###Stepの中を展開するとこんな感じになってます
###各アクションの設定値
※デコードする部分もほぼエンコード時と設定内容は一緒で、呼び出す関数名を変えるくらいです。
#結果
上記をQRコード化し、それを読み取り、デコードした結果がこちら。
#まとめ
ということで、日本語対応していないQRコード生成用アクションで日本語を扱ってしまうことが出来ました。
気を付けないといけないのは、QRコードで扱える最大文字数ですが、一般的な用途であれば大丈夫なんじゃないかと思っています。
#参考ページ、記事
URLエンコードとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
URLエンコードについておさらいしてみた - Qiita