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 相关文章推荐
15个小时----从修改程序到自己些程序
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
使用VisualStudio开发php的图文设置方法
Aug 21 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
PHP读取XML格式文件的方法总结
Feb 27 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
实用函数5
2007/11/08 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python算法之栈(stack)的实现
2014/08/18 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
Python学习小技巧之列表项的排序
2017/05/20 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
python模糊图片过滤的方法
2018/12/14 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
this关键字的含义
2015/04/08 面试题
法学毕业生自我鉴定
2013/11/08 职场文书
党员入党表决心的话
2014/03/11 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书