Google Chart API で QRコードを作成

  • 投稿
  • 編集

 

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

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

 

ちなみに上記のURL(http://karitaikun.com)の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=http://karitaikun.com

 

詳細については英語のページですが、

http://code.google.com/apis/chart/types.html#qrcodes

をご参照ください。

 

携帯電話でQRコードを読み込ませると文字化けしてうまく認識されない場合や、

ブラウザにURLを送信してもページが表示できずエラーになる場合は

URLエンコードされたURL内の文字列の中にある「%」を「%25」に置き換えることで回避できます。

例:

「星屋」をURLエンコードすると

「%e6%98%9f%e5%b1%8b」

となるので

http://chart.apis.google.com/chart?cht=qr&choe=UTF8&chld=l|0&chs=140x140&chl=%e6%98%9f%e5%b1%8b

とするところですが、携帯電話で読み取ると文字化けしてしまいますが、

「%」を「%25」に置き換えて

http://chart.apis.google.com/chart?cht=qr&choe=UTF8&chld=l|0&chs=140x140&chl=%25e6%2598%259f%25e5%25b1%258b

とします。

これを携帯電話で読み込むと「%e6%98%9f%e5%b1%8b」と認識されます。

 

ファイルメーカーをご利用の方で、

QRコードを表示するURLをブラウザに送る場合は

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

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