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写出自己的BLOG系统 2
Apr 12 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 PHP
php自定义session示例分享
Apr 22 PHP
PHP针对JSON操作实例分析
Jan 12 PHP
百度地图API使用方法详解
Aug 25 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
Mar 21 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 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 读取文件头判断文件类型的实现代码
2013/08/05 PHP
php共享内存段示例分享
2014/01/20 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python进程间通信Queue实例解析
2018/01/25 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
Python jieba库用法及实例解析
2019/11/04 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
CAD制图设计师自荐信
2014/01/29 职场文书
三八妇女节演讲稿
2014/05/27 职场文书
私人委托书格式
2014/09/10 职场文书
2014年销售部工作总结
2014/12/01 职场文书
学前班语言教学计划
2015/01/20 职场文书
承诺函范文
2015/01/21 职场文书
公司岗位说明书
2015/10/08 职场文书
Python学习之迭代器详解
2022/04/01 Python
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技