Google Chart API で QRコードを作成

http://chart.apis.google.com/chart?cht=qr&choe=UTF8&chld=l|0&chs=140x140&chl=https://qwerty.work

のように chl の後ろに指定した文字列をQRコードにしてくれる優れものです。

例えば、上記のURL(https://qwerty.work/)のQRコードを表示すると

と表示されます。

使い方

http://chart.apis.google.com/chart?

の後ろにいろいろパラメータを入れていきます。

Google Chart API での使用したいチャートの種類を指定(必須)

例:cht=qr

今回はQRコードでしようするため「qr」を指定していますが、

その他グラフや地図などのチャートを指定できるようです。

出力する文字エンコードを指定(省略可)

例:choe=UTF8

書式:chl=<text to encode>

値:UTF-8、Shift_Jis 他

省略したときはUTF-8がデフォルト

表示するQRコードのEC(回復)レベルとマージン(余白)の指定(省略可)

例:chld=l|0 または chld=l%7C0

書式:chld=<ec level>|<margin>

<ec level>の値: l,m,q,h (回復できるレベル L=7%,M=15%,Q=25%,H=30%)

<margin>の値:任意の数字を入れる。

出力するQRコードのサイズを指定(必須)

例:chs=140x140

値:適当

QRコード化したい文字列やURL(必須)

例:chl=https://qwerty.work

リファレンス

詳細については英語のページですが、以下のページをご参照ください。

文字化けするとき

携帯電話でQRコードを読み込ませると文字化けしてうまく認識されない場合や、ブラウザにURLを送信してもページが表示できずエラーになる場合はURLエンコードされたURL内の文字列の中にある「%」を「%25」に置き換えることで回避できます。

例えば、「日本」をURLエンコードすると「%e6%97%a5%e6%9c%ac」となるのでURLは以下のようになります。

http://chart.apis.google.com/chart?cht=qr&choe=UTF8&chld=l|0&chs=140x140&chl=%e6%97%a5%e6%9c%ac

とするところですが、携帯電話で読み取ると文字化けしてしまいますが、「%」を「%25」に置き換ます。

http://chart.apis.google.com/chart?cht=qr&choe=UTF8&chld=l|0&chs=140x140&chl=%25e6%2597%25a5%25e6%259c%25ac

これを携帯電話で読み込むと「%e6%97%a5%e6%9c%ac」と認識されます。

ファイルメーカーで使うとき

ファイルメーカー内でQRコードを表示するためURLをブラウザに送る場合は

Substitute ( GetAsURLEncoded (URL) ; "%" ; "%25" )

でURLエンコードされたURLフィールド内の「%」を「%25」に置き換えるとうまくいきます。