我试过用几个网页来创建二维码,来创建一个常规网址的二维码,它们都很好。
但是,如果我对url设置了参数,那么得到的url就不能正确解码。
如果你尝试这样做
http://chart.apis.google.com/chart?cht=qr&chs=500x500&choe=UTF-8&chld=H&chl=http://localhost?someparam=1&someotherparam=2而不是指向http://localhost?someparam=1&someotherparam=2的二维码
安卓和iPhone上的Barcodescanner解码器应用程序指向
http://localhost/?someparam=1&someotherparam=2服务器名(域名)和参数字符串开头之间的正斜杠/显然不正确。
我假设这与url编码有关,我只是在寻找一个指向正确方向的指针,这个指针来自可能已经破解了这个问题的人。
Zxing的二维码生成器也有同样的效果。但它似乎也依赖于谷歌。
http://zxing.appspot.com/generator/
也是
http://d-project.googlecode.com/svn/trunk/misc/qrcode/js/sample.html
发布于 2012-07-24 13:50:28
您需要对每个参数值执行URL-encode操作,在您的示例中,尤其是chl参数。现在大多数语言都有这样的库,或者在web上搜索"url encoder“就会给出一个表单。
http://localhost?someparam=1&someotherparam=2的url编码是http%3A%2F%2Flocalhost%3Fsomeparam%3D1%26someotherparam%3D2。
此外,URL本身是参数值的任何参数值也必须独立地进行URL编码。
正如Sean在下面提到的,如果您在appspot页面的表单中输入您的URL,它将正确地对图表URL进行url编码:
http://chart.apis.google.com/chart?cht=qr&chs=350x350&chld=L&choe=UTF-8&chl=http%3A%2F%2Flocalhost%3Fsomeparam%3D1%26someotherparam%3D我不确定你额外的/评论。如果转到您提供的URL,则code值为
http://localhost?someparam=1这是预期的,因为chl参数值没有转义,因此在第一个&处结束。
https://stackoverflow.com/questions/11624485
复制相似问题