php生成二维码时出现中文乱码的解决方法


Posted in PHP onDecember 18, 2014

本文实例讲述了php生成二维码时出现中文乱码的解决方法。分享给大家供大家参考。具体分析如下:

最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个类型没有内容,随即判断没内容就加上一个固定的字符串,这样乱码的问题得以解决.

php生成二维码的几种方式

1.google开放api,代码如下:

$urlToEncode="https://3water.com"; 

generateQRfromGoogle($urlToEncode); 

function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') 

{ 

$url = urlencode($url); 

echo ''; 

}

2.php类库PHP QR Code

地址:http://phpqrcode.sourceforge.net/

下载:http://sourceforge.net/projects/phpqrcode/

用例,代码如下:

# 创建一个二维码文件

QRcode::png('code data text', 'filename.png');

# 生成图片到浏览器

QRcode::png('some othertext 1234');

3.libqrencode

地址:http://fukuchi.org/works/qrencode/index.en.html

4.QRcode Perl CGI & PHP scripts

地址:http://www.swetake.com/qr/qr_cgi.html

第2种方法中在二维码中间加上logo,修改phpqrcode.php中的QRimage类里的png方法,代码如下:

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); 

}

PS:感兴趣的朋友还可参考本站二维码工具:http://tools.3water.com/transcoding/3waterqrcode

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
深入了解PHP类Class的概念
Jun 14 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php创建session的方法实例详解
Jan 27 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
php7中停止php-fpm服务的方法详解
May 09 PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 #PHP
php可生成缩略图的文件上传类实例
Dec 17 #PHP
php提示Failed to write session data错误的解决方法
Dec 17 #PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 #PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 #PHP
apache中为php 设置虚拟目录
Dec 17 #PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 #PHP
You might like
PHP实现的比较完善的购物车类
2014/12/02 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
微信小程序动态添加分享数据
2017/06/14 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
Python callable()函数用法实例分析
2018/03/17 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
旅游管理专业个人求职信范文
2013/12/24 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
德育标兵事迹材料
2014/08/24 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
人事任命通知书
2015/04/21 职场文书
党员证明信
2015/06/19 职场文书
python编写函数注意事项总结
2021/03/29 Python
Go语言读取txt文档的操作方法
2022/01/22 Golang