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中使用模板的方法
May 24 PHP
用php将任何格式视频转为flv的代码
Sep 03 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
php实现的短网址算法分享
Jun 20 PHP
CI框架入门示例之数据库取数据完整实现方法
Nov 05 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
PHP中调用SVN命令更新网站方法
Jan 07 PHP
php实现TCP端口检测的方法
Apr 01 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
微信支付的开发流程详解
Sep 13 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 excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
关于尾递归的使用详解
2013/05/02 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
php中的依赖注入实例详解
2019/08/14 PHP
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
vxe-table vue table 表格组件功能
2019/05/26 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
Python的高阶函数用法实例分析
2019/04/11 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
水果超市创业计划书
2014/01/27 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
品质主管岗位职责
2014/03/16 职场文书
软环境建设心得体会
2014/09/09 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
2014年电教工作总结
2014/12/19 职场文书
入党积极分子个人总结
2015/03/02 职场文书
离婚被告代理词
2015/05/23 职场文书
实习指导老师意见
2015/06/04 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python