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脚本的10个技巧(3)
Oct 09 PHP
一个简单的PHP&MYSQL留言板源码
Jul 19 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
php数值转换时间及时间转换数值用法示例
May 18 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 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
web方式ftp
2006/10/09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
怎样写留学自荐信
2013/11/11 职场文书
初中生自我鉴定
2014/02/04 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
想创业成功,需要掌握这些要点
2019/12/06 职场文书
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
Python如何将list中的string转换为int
2022/07/15 Ruby