What should I do if php generates Chinese garbled QR codes?
Recently I did a project to scan the QR code to get the vcard. I encountered a problem. There is a part of the generated QR code that needs to be scanned with an Android phone. The Chinese name in the vcard obtained was garbled. After comparison, it was found that the ORG type in this part of the vcard had no content. Then it was judged that there was no content and a fixed string was added, thus solving the problem of garbled characters. This solution can be considered as a way to save the country. I don’t know how to fundamentally solve the garbled code problem. If anyone has the solution, please leave a message and let me know. Thank you.
3. Several ways to generate QR code in php
1.google open api
The code is as follows |
|
$urlToEncode="http:// gz.altmi.com";
generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
$url = urlencode($url);
echo '';
}
代码如下 |
|
$urlToEncode="http://gz.altmi.com";
generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
$url = urlencode($url);
echo '';
}
|
|
2.php class library PHP QR Code
Address: http://phpqrcode.sourceforge.net/
Download: http://sourceforge.net/projects/phpqrcode/
Use case:
The code is as follows |
|
# Create a QR code file
QRcode::png('code data text', 'filename.png');
# Generate images to the browser
QRcode::png('some othertext 1234');
代码如下 |
|
# 创建一个二维码文件
QRcode::png('code data text', 'filename.png');
# 生成图片到浏览器
QRcode::png('some othertext 1234');
|
|
3.libqrencode
Address: http://fukuchi.org/works/qrencode/index.en.html
For PHP support, please refer to: http://hirokawa.netflowers.jp/entry/4900/
4.QRcode Perl CGI & PHP tutorial scripts
Address: http://www.swetake.com/qr/qr_cgi.html
IV. In the second method, add the logo in the middle of the QR code
Modify the png method in the QRimage class in phpqrcode.php:
The code is as follows |
|
public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4, $saveandprint=FALSE, $mergePic='')
{
$image = self::image($frame, $pixelPerPoint, $outerFrame);
if($mergePic) {
$im = imagecreatefrompng($mergePic);
$w = imagesx($im);
$h = imagesy($im);
ImageAlphaBlending($image, true);
ImageAlphaBlending($im, true);
$qrw = (imagesx($image)-$w)/2;
$qrh = (imagesy($image)-$h)/2;
imagecopy($image, $im, $qrw, $qrh, 0, 0, $w, $h);
imagedestroy($im);
}
代码如下 |
|
public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4, $saveandprint=FALSE, $mergePic='')
{
$image = self::image($frame, $pixelPerPoint, $outerFrame);
if($mergePic) {
$im = imagecreatefrompng($mergePic);
$w = imagesx($im);
$h = imagesy($im);
ImageAlphaBlending($image, true);
ImageAlphaBlending($im, true);
$qrw = (imagesx($image)-$w)/2;
$qrh = (imagesy($image)-$h)/2;
imagecopy($image, $im, $qrw, $qrh, 0, 0, $w, $h);
imagedestroy($im);
}
if ($filename === false) {
Header("Content-type: image/png");
ImagePng($image);
} else {
ImagePng($image, $filename);
if($saveandprint===TRUE){
header("Content-type: image/png");
ImagePng($image);
}
}
ImageDestroy($image);
}
|
if ($filename === false ) {
Header("Content-type: image/png");
ImagePng($image);
} else {
ImagePng($image, $filename);
if($saveandprint===TRUE){
header("Content-type: image/png");
ImagePng($image);
}
}
ImageDestroy($image);
}
|
http://www.bkjia.com/PHPjc/827289.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/827289.htmlTechArticleWhat should I do if php generates Chinese garbled QR code? I recently did a project of scanning the QR code to get vcard, and I encountered One question, there is a part of the generated QR code that can be scanned with an Android phone...