当前位置:  编程技术>php

php编码转换函数例解

    来源: 互联网  发布时间:2014-08-30

    本文导语:  在php编程中,mb_convert_encoding函数是用来转换编码的。 不过英文一般不会存在编码问题,只有中文数据才会有这个问题。 比如用zend studio或editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时...

在php编程中,mb_convert_encoding函数是用来转换编码的。

不过英文一般不会存在编码问题,只有中文数据才会有这个问题。

比如用zend studio或editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。

mb_convert_encoding的用法见官方:
http://cn.php.net/manual/zh/function.mb-convert-encoding.php

1,gbk to utf-8 编码转换
 

代码示例:
< ?php
header("content-type: text/html; charset=utf-8");
echo mb_convert_encoding("妳係我的友仔", "utf-8", "gbk");
?>

2,gb2312 to big5 编码转换
 

代码示例:
< ?php
header("content-type: text/html; charset=big5");
echo mb_convert_encoding("你是我的朋友", "big5", "gb2312");
?>
 

不过要使用上面的函数需要安装但是需要先enable mbstring 扩展库。

php中的另外一个函数iconv也是用来转换字符串编码的,与上函数功能相似。

例子:
 

iconv — convert string to requested character encoding
(php 4 >= 4.0.5, php 5)
mb_convert_encoding — convert character encoding
(php 4 >= 4.0.6, php 5)

用法:
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
需要先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉
mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多;

string iconv ( string in_charset, string out_charset, string str )
注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://translit 和 //ignore,其中 //translit 会自动将不能直接转化的字符变成一个或多个近似的字符,//ignore 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。
returns the converted string or false on failure.

使用:
发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug.

一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.

from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. if it is not specified, the internal encoding will be used.
/* auto detect encoding from jis, eucjp-win, sjis-win, then convert str to ucs-2le */
$str = mb_convert_encoding($str, “ucs-2le”, “jis, eucjp-win, sjis-win”);
/* “auto” is expanded to “ascii,jis,utf-8,euc-jp,sjis” */
$str = mb_convert_encoding($str, “euc-jp”, “auto”);

例子:
 

代码示例:

    
 
 

您可能感兴趣的文章:

  • PHP的substr() 函数用法
  • php构造函数与析构函数
  • php中检测变量是否是一个对象的is_object函数介绍及用法举例
  • php构造函数与析构函数初探
  • php session_id()函数介绍及代码实例
  • PHP中的Pack()函数,Java有哪个函数与之对应???
  • php中session_id()函数详细介绍,会话id生成过程及session id长度
  • php构造函数与析构函数 php内存管理函数
  • php将html特殊字符转换成html字符串的函数:htmlspecialchars()介绍及代码举例
  • php数组函数之array_combine() 数组合并函数
  • php使用socket_bind()函数绑定IP地址
  • php构造函数和析构函数学习
  • php将unix时间戳转换成字符串时间函数(date)
  • php trim函数执行过程解析
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • php递归函数小例子
  • php时间格式化函数date介绍及用法参考
  • php sprintf函数用法 php浮点数格式
  • php递归示例 php递归函数代码
  • php构造函数与析构函数实例分析
  • 在php中如何用exec()函数运行mv命令
  • php字符串编码转换函数 可以自动识别原编码
  • php页面编码与mysql数据库编码区别
  • php编码转换分析
  • PHP 数组字符集编码转换的函数
  • 设置php页面编码的二种方法
  • 两种设置php载入页面时编码的方法
  • php自动识别文件编码并转换为UTF-8的方法
  • 设置php页面编码的两种方法示例介绍
  • php pdo编码乱码问题的解决方法
  • php字符串编码转换小例子
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • PHP转换器 HipHop for PHP
  • PHP实现Unicode和Utf-8互相转换
  • php时区转换转换函数
  • PHP汉字拼音转换、公历农历转换的实例详解
  • php时区转换函数示例
  • php转换html标签小例子
  • php二维数组转换为字符串示例
  • php数组与对象转换小例子
  • PHP到.NET的转换工具 Jadu
  • Php计算时间差 php日期转换的例子
  • php字符串过滤与转换函数有哪些
  • php根据操作系统转换文件名大小写的方法
  • PHP英文字母大小写转换函数
  • PHP英文字母大小写转换函数小结
  • php日期查询与数值转换的例子
  • PHP的XSL转换速度优化 XSLcache
  • php自动识别文字编码并转换
  • php数组编码转换小例子
  • php时间戳转换的示例
  • php时间转换unix时间戳实例
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP 框架 Pop php
  • PHP去除html标签,php标记及css样式代码参考
  • PHP的JavaScript框架 PHP.JS
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • php服务器探针显示php服务器信息




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3