`

php iconv字符串编码转换(GBK到UTF8字符集)的方法与实例

    博客分类:
  • PHP
阅读更多
本文原始链接:http://www.jbxue.com/article/6640.html
1、iconv()函数
iconv函数可以实现字符集间的相互转换。例如:从GB2312转换为UTF-8。
iconv函数在php5中内置,GB字符集默认打开。

2、iconv()错误
iconv在转换字符”—”到gb2312时会出错,此时在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后。
例如:
iconv("UTF-8", "GB2312//IGNORE", $data)


ignore忽略转换时的错误,不加ignore参数,所有该字符后面的字符串都无法被保存。这点要注意。

3、以下为大家举几个应用iconv函数的例子。
例1:
<?php
  echo $str= ‘你好,这里是卖咖啡!';
  echo '<br />';
  echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
  echo '<br />';
  echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
  print_r(iconv_get_encoding()); //得到当前页面编码信息
  echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
?>


例2:
UTF-8编码时可以正确输出:
<?php
  $str='我爱脚本学堂';
  $utf='';
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
  echo $utf;
?>


GB编码时,可以正确输出:
<?php
  $str='我爱脚本学堂';
  $str=iconv("GBK", "UTF-8", $str);
  $utf='';
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
  echo $utf;
?>


上面两个小例子,会输出如下的内容:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6

有关php中iconv函数应用于字符串编码转换的例子,就介绍完了,希望对大家有所帮助。
好好学习,天天上脚本学堂,嘎嘎。
分享到:
评论

相关推荐

    PHP实例开发源码—PhpColor php多彩贴吧GBK.zip

    例如,如果从GBK编码转换为UTF-8,可以使用`iconv('GBK', 'UTF-8', $gbk_string)`。这在读取GBK编码的文件或者接收GBK编码的HTTP请求时非常有用。 2. **文件读写**:在读取GBK编码的文件时,需要确保`fopen`或`file...

    数据库编程之编码转换实例--乱码分析

    乱码通常发生在不同字符集之间转换时,例如从GBK编码转换到UTF-8编码,或者反之。当原始数据的编码与系统识别的编码不匹配时,就会出现无法正确显示的字符,也就是我们常说的乱码。 在数据库编程中,编码问题可能...

    VC++中文繁体、简体(BIG-GBK)编码转换程序.rar

    6. **编码转换**:程序的核心功能是进行编码转换,这涉及到字符集的映射和解码/编码的过程。在C++中,可以使用标准库如`std::wstring_convert`和`boost::locale`进行编码转换,或者自定义算法实现。 7. **对话框...

    MySQL字符集

    MySQL的字符集实现涉及到字符转换函数、校对规则的实现以及与存储引擎的交互。源代码中的相关部分可能位于`mysql/source/client`、`mysql/source/include`和`mysql/source/strings`等目录下。 “工具”标签可能是指...

    iconv库函数的学习程序

    iconv是一个广泛使用的字符集转换库,它支持多种编码间的转换,如ASCII、UTF-8、GBK等。在C/C++编程中,iconv库提供了强大的接口,使得开发者能够方便地在不同编码间进行数据迁移。下面我们将从以下几个方面来探讨...

    linux字符集介绍写的比较详细

    随着全球化的发展,Unicode(特别是其UTF-8编码形式)成为了跨语言和跨平台的标准字符集。在Linux系统中,推荐使用Unicode作为默认字符集,因为它能更好地支持多语言环境。 #### 三、具体操作实例 **1. 修改系统...

    cocos2d-x 显示中文字符 实例源码

    在提供的压缩包中,"iconv"可能是一个重要的工具或库,它是用于字符集转换的软件,可以将一种编码的文本转换为另一种编码。在Cocos2d-x中,我们可能需要使用iconv库来处理中文字符的编码问题,将内部编码转换为Cocos...

    PHP实例开发源码—PhpCMS SP4 GBK 正式版.zip

    - 在PHP中处理GBK编码时,需要使用iconv或mbstring等扩展进行编码转换,防止乱码问题。 - GBK编码与UTF-8相比,占用空间相对较大,但在中文环境下兼容性较好。 4. 使用须知: - 安装环境:确保服务器环境配置...

    PHP与MYSQL中UTF8编码的中文排序实例

    当然,也可以在已有的MySQL实例中更改数据库、表或字段的字符集为GBK或UTF8。 3. **查询时转换**:如果不想修改表结构,可以在查询时使用`CONVERT()`函数,将字段转换为GBK编码进行排序,如下所示: ```sql ...

    PHP实例开发源码—源码爱好者PHP留言本版 GBK.zip

    这个系统是专为源码爱好者设计的,使用了GBK编码,一种广泛用于简体中文环境的字符集。在深入探讨这个源码之前,我们先来了解一下PHP和GBK编码的基础知识。 PHP(Hypertext Preprocessor)是一种服务器端的脚本语言...

    PHP实例开发源码—中文域名转码系统HTML5版.zip

    2. **PHP字符串处理**:PHP提供了丰富的字符串处理函数,如`iconv`和`mb_string`系列函数,用于进行多字节字符集(MBCS)的转换。在这个项目中,这些函数会用于将中文域名转换为Punycode,这是一种将非ASCII字符转换...

    linux下查看windows txt乱码问题

    Linux系统默认使用的字符集为UTF-8(Unicode Transformation Format - 8-bit),这是一种可变长度的多字节编码方式,支持全世界几乎所有的字符集,因此被广泛应用于Web和操作系统中。UTF-8编码的一个显著特点是它与...

    PHP 繁体简体互转类

    这通常涉及到字符编码的转换,如GBK、Big5(繁体)和UTF-8等。PHP中可以利用内置的iconv或mb_string扩展来处理不同编码间的转换。而针对中文字符的转换,我们需要一个包含对应映射关系的字典库,将简体字映射到繁体...

    深入理解字符编码

    每种字符集都有对应的编码方案,规定了字符到二进制代码的具体映射规则。 **字节序(Byte Order)** - **概念**: 字节序指的是多字节数据在内存中的存储顺序,主要分为Big Endian(大端模式)和Little Endian(小...

    php+Ajax(GET&POST)完美实例

    `可以设置响应头,确保输出内容的字符集为UTF-8。 Ajax,全称Asynchronous JavaScript and XML,它允许JavaScript在不刷新整个页面的情况下与服务器进行异步通信。在JavaScript中,我们通常使用XMLHttpRequest对象...

    php学习笔记_心得

    例如,将UTF-8编码的字符串转换为GBK编码: ```php $utf8_string = '你好世界'; $gbk_string = iconv('UTF-8', 'GBK//IGNORE', $utf8_string); ``` 通过深入理解这些基本概念,你可以更有效地编写PHP代码,并解决在...

    php简单判断文本编码的方法

    `iconv`函数允许我们将文本从一种字符编码转换到另一种编码。其基本语法如下: ```php iconv(string $in_charset, string $out_charset, string $str) ``` - `$in_charset` 是输入字符串的字符集。 - `$out_...

    网页乱码问题的解决方案

    6. **字符编码转换**:如果确实存在不同编码的数据,使用PHP函数如`iconv()`或`mb_convert_encoding()`进行编码转换,但应谨慎操作,避免转换错误。 #### 四、实例演示 假设数据库编码为`UTF-8`,页面和PHP代码也...

    php的GD库imagettftext函数解决中文乱码问题

    在上述实例中,文件`simhei.ttf`(通常是简体黑体)通常使用UTF-8编码,因此我们需要将字符串从GB2312转换为UTF-8。这可以通过PHP的`iconv()`函数实现。`iconv()`函数用于进行字符集之间的转换,其基本语法如下: `...

Global site tag (gtag.js) - Google Analytics