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的面试题集,附我的答案和分析(一)
Nov 19 PHP
用header 发送cookie的php代码
Mar 16 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
php日历制作代码分享
Jan 20 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
laravel中的一些简单实用功能
Nov 03 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中$_SERVER的详细参数与说明
2008/07/29 PHP
php通过各种函数判断0和空
2020/07/04 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
pygame学习笔记(4):声音控制
2015/04/15 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
python web框架 django wsgi原理解析
2019/08/20 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
python dict如何定义
2020/09/02 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
劲霸男装广告词
2014/03/21 职场文书
网站客服岗位职责
2014/04/05 职场文书
小学运动会通讯稿
2015/07/18 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书