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中json_decode()和json_encode()的使用方法
Jun 04 PHP
php获取数组中重复数据的两种方法
Jun 28 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
PHP使用new StdClass()创建空对象的方法分析
Jun 06 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
jQuery固定浮动侧边栏实现思路及代码
2014/09/28 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
使用python Django做网页
2013/11/04 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
python sys.argv[]用法实例详解
2018/05/25 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
计算机专业优秀大学生自我总结
2014/01/21 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
《风筝》教学反思
2014/04/10 职场文书
高中教师个人总结
2015/02/10 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS