php--转码函数
最近在用dedecms二次开发会员功能;大家都知道dedecms编码是GBK格式的;所以在我们在项目中经常需要转码,在我了解中有两种转码方式:一是:iconv;二是mb_convert_encoding;
下面介绍下两种转码方式的用法:
iconv:
iconv(“UTF-8″,”GB2312”,$string);将$string由utf-8编码转化为GBK格式
第一个参数:现在字符串的编码格式;
第二个参数:想要转化的编码格式;
第三个参数:想要转化的字符串;
mb_convert_encoding:
mb_convert_encoding($string, “UTF-8″, “GBK”);将$string由GBK转化为utf-8格式
{1.需要先enable mbstring 扩展库
2.mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多
}
第一个参数:想要转化的字符串;
第二个参数:想要转化的编码格式;
第三个参数:现在字符串的编码格式;
iconv 和 mb_convert_encoding 两个转码函数的区别:
其实我用刀这个转码函数主要是在会员信息导出excel格式时,当时我添加会员的时候转码存入数据库用的是iconv,但是在我导出excel时,我用iconv时,导出部分信息可能出现空白的,这样就算是一个bug,但是用mb_convert_encoding时则不会出现这样的情况,于是我想弄清楚这两个函数到底有什么区别我就去百度看了一下;
这是我在百度里面搜到是这样说的:
发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug.
一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.
所以大家在使用的时候要注意到自己想要转换换的编码格式具体是哪种,这样你才知道哪种是更好用的呀!
php--转码函数的更多相关文章
- CC2530红外学习球学码函数(P1.2接红外一体接收头,使用定时器tim1的复用功能2)
P1.2GPIO配置: void cap_gpio_init(){ P1SEL |= 0x04; P1DIR &= ~0x04; PERCFG |= 0x40; P2SEL |= 0x20; ...
- php和js字符串的acsii码函数
简单普及下编码知识: javascript中有charCodeAt(),根据字符查找ascii码. String.fromCharCode(),根据ascii码查找对应的字符. console.log ...
- php 转码函数 你还在用iconv吗?-- 解决sqlserver插入中文失败问题
文章来源 :http://www.veryhuo.com/a/view/41348.html 这次给客户同步sqlserver数据,临时搭的 PHP Query Analyzer 插入某些中文一直有些 ...
- 关于追踪qemu 源码函数路径的一个方法
这阵子一直在研究qemu 磁盘io路径的源码,发现直接看代码是意见非常低效率的事情,qemu是一个比较庞大的家伙(源码部分大概154MB,完全由C语言来完成),整个结构也都非常地复杂,所以从代码上研究 ...
- C语言实现的CRC16/CCITT-FALSE校验码函数
要求:输入字符串“00 AA FF CC AA 01 00” 得到校验码“79B1” 方法1: // ConsoleApplication1.cpp: 定义控制台应用程序的入口点. // #inclu ...
- Oracle 五笔码函数
五笔码 select comm.fun_spellcode_wb('数据库') from dual 结果:ORY 函数 CREATE OR REPLACE FUNCTION COMM.FUN_SPEL ...
- Oracle 拼音码函数
拼音码 select comm.fun_spellcode('数据库') from dual 结果 : SJK 函数 CREATE OR REPLACE FUNCTION COMM.FUN_SPELL ...
- PHP转码函数
解决中文乱码问题,数据库使用sql server ,是gbk编码,所以在存储和前台显示时都要转码. function cn_convert2web($str){ return iconv('gbk', ...
- PHP转码函数mb_convert_encoding() 和iconv()
注意:函数mb_convert_encoding的执行效率比iconv差,且需开启php的mbstring扩展. 一般情况下使用iconv,但此函数在碰到无法转码字符会丢弃,此种情况下可以用mb_co ...
随机推荐
- Linux中的常见命令
1. ls 查看当前目录下的所有文件夹 2. pwd 查看当前所在的文件夹 3. cd 目录名 切换文件夹 4. touch 文件名 创建文件 5. mkdir 目录名 创建文件夹 6 ...
- python入门:用户登录,三次错误机会
#!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...
- GoF23种设计模式之结构型模式之装饰模式
一.概述 动态地给一个对象添加一些额外的职责.装饰模式比生成子类更为灵活. 二.适用性 1.在不影响其他对象的情况下,以动态.透明的方式给但个对象添加职责. 2.处理那些可以撤销的职责. 3.当不能采 ...
- 如何在微信中发送"相册"文件时有选择性地显示视频文件
相信很多微信用户在使用微信给朋友,同事发送相册中的文件时,微信会显示你手机中的视频文件,这样很不方便. 如果要完全不显示视频文件: 随便在手机中建立一个文件夹,名字叫 ".nomedia&q ...
- poj 1328 安雷达问题 贪心算法
题意:雷达如何放置?在xoy二维平面坐标系里面,x轴上方的为岛屿,x轴下方的是雷达要放到位置,如何放使得雷达放的最少? 思路 肯定放在x轴上减少浪费是最好的选择 什么情况下,雷达无法到达呢?--以这个 ...
- Linux学习-什么是 daemon 与服务 (service)
『常驻在记体体中的程序,且可以提供 一些系统或网络功能,那就是服务』.而服务一般的英文说法是『 service 』. 那么 daemon 与 service 有关啰?否则为什么都能够提供 某些系统或网 ...
- STM8 EEPROM心得
对于STM8来说,其内部的EEPROM确实是个不错的东西,而且STM8S103/105价格已经非常便宜了,当然也可以用STM8S003/005代替,而且价格更便宜,大概在,1.2/2.0元左右,比10 ...
- MiniProfiler监控调试MVC5以及EntityFramework6性能
想要通过在MVC中view中直观的查看页面加载以及后台EF执行情况,可以通过MiniProfiler小工具来实现. 但是从网上搜索的相关信息要么是MVC4下的老版本的MiniProfiler,要么就是 ...
- 【12】Firefox 快捷键大全及更改和定制快捷键的方法
[12]Firefox 快捷键大全及更改和定制快捷键的方法 答: Firefox 本身没有提供更改和定制快捷键的选项,若有需要,请安装扩展 Keyconfig 来解决. 安装地址如下: Keycon ...
- Clickonce - Change deployment URL after publish
mage.exe -Update C:\inetpub\wwwroot\aspnet40\AminoScience\Uploads\Application Files\AccUFeed_1_0_0_5 ...