当前位置:  编程技术>php

php编码转换函数mb_convert_encoding与iconv

    来源: 互联网  发布时间:2014-10-04

    本文导语:  在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

编码转换gbk到utf-8:
 

代码示例:

编码转换gb2312到big5:
 

代码示例:

 

使用以上php函数需要安装但是需要先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 mb_convert_encoding文字编码转换函数
  • php编码转换函数(iconv mb_convert_encoding)
  • php字符编码转换问题 mb_convert_encoding与iconv函数
  • 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自动识别文件编码并转换为UTF-8的方法 iis7站长之家
  • php将unix时间戳转换成字符串时间函数(date)
  • php trim函数执行过程解析
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • php递归函数小例子
  • php时间格式化函数date介绍及用法参考
  • php sprintf函数用法 php浮点数格式
  • php递归示例 php递归函数代码
  • php构造函数与析构函数实例分析
  • 在php中如何用exec()函数运行mv命令
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php字符串编码转换函数 可以自动识别原编码
  • php页面编码与mysql数据库编码区别
  • php编码转换分析
  • PHP 数组字符集编码转换的函数
  • 设置php页面编码的二种方法
  • 两种设置php载入页面时编码的方法
  • php自动识别文件编码并转换为UTF-8的方法
  • 设置php页面编码的两种方法示例介绍
  • php pdo编码乱码问题的解决方法
  • php字符串编码转换小例子
  • php iconv函数解决utf-8与gb2312编码转换问题
  • php 字符编码转换方法
  • php编码转换小例子
  • php 判断网页是否是utf8编码的方法
  • php验证是否是md5编码的简单代码
  • php编码转换方法举例
  • PHP生成UTF-8编码的CSV文件打开乱码的解决方法
  • PHP学习笔记之字符串编码的转换和判断
  • php检测文件编码的方法示例
  • php字符串编码转换示例
  • 修改配置真正解决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转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例




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

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

    浙ICP备11055608号-3