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 相关文章推荐
PHPlet在Windows下的安装
Oct 09 PHP
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
mysql查找删除重复数据并只保留一条实例详解
Sep 24 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
php实现数字补零的方法总结
Sep 12 PHP
php实现微信企业转账功能
Oct 02 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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
php5中类的学习
2008/03/28 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
php 生成短网址原理及代码
2014/01/23 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
了解一点js的Eval函数
2012/07/26 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
Python发送Email方法实例
2014/08/21 Python
Python动态加载模块的3种方法
2014/11/22 Python
Python中的高级数据结构详解
2015/03/27 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Shein英国:女性时尚网上商店
2019/04/10 全球购物
大跃进口号
2014/06/16 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
工程部岗位职责范本
2015/04/11 职场文书
微信搭讪开场白
2015/05/28 职场文书
举起手来观后感
2015/06/09 职场文书
听证会主持词
2015/07/03 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
Android Studio 计算器开发
2022/05/20 Java/Android