php字符集转换

时间:2022-09-11 00:25:18

PHP通过iconv将字符串从GBK转换为UTF8字符集。

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()例子
<?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'); //得到设定编码的字符串长度
?>

php字符集转换的更多相关文章

  1. mysql已有数据字符集转换

    下面模拟把latin1字符集的数据转换为utf8字符集 一.创建测试表和测试数据: 1.修改会话级别的连接字符集 mysql > set names latin1; 查看一下: 2.创建测试表: ...

  2. 字符集转换&colon; Ansi - Unicode

    字符集转换: Ansi - Unicode wstring AnsiToUnicode (const string& strSrc ) { /*!< 分配目标空间 */ ,strSrc. ...

  3. 字符集转换&colon; Unicode - Ansi

    字符集转换: Unicode - Ansi string UnicodeToAnsi ( const wstring& wstrSrc ) { /*!< 分配目标空间, 一个16位Uni ...

  4. 利用boost做string到wstring转换,以及字符集转换 - Error - C&plus;&plus;博客

    利用boost做string到wstring转换,以及字符集转换 - Error - C++博客 利用boost做string到wstring转换,以及字符集转换 #include <boost ...

  5. libiconv字符集转换库在C&num;中的使用

    <libiconv字符集转换库用法>一文中说到了libiconv能够实现不同字符集的转换. 比方GBK转BIG5等.在项目中由于须要,找到这个库.但是这个库在C#中没有非常好的支持.只是, ...

  6. 部署OGG时字符集转换问题--oracle to oracle已验证,其他异构环境应当也适用

    之前在安装OGG总是遇到字符集问题,尤其是多源端对一个目标端时,源端字符集不同,导致出现字符集问题 无法同步数据,查阅了大量的园子资料,都说要设置复制或抽取进程中SETENV (NLS_LANG=AM ...

  7. MySQL字符集转换引发插入乱码问题

    根据http://www.cnblogs.com/cchust/p/4601536.html进行验证测试 问题背景 在mysql上面执行一条普通的insert语句,结果报错: Incorrect st ...

  8. Oracle字符集转换

            这几天在工作中碰到一个字符乱码的问题,发现在cmd窗口的sqlplus中直接update一个中文和使用@调用一个文件作同样更新的时候,存储的结果 竟不一样.一时比较迷惑,对Oracle ...

  9. 彻底理解mysql服务器的字符集转换问题

    主要参考这三个文章: https://www.xiariboke.com/article/4147.html http://blog.sina.com.cn/s/blog_690c46500100k1 ...

随机推荐

  1. 详解Eclipse断点

    原文链接:http://www.blogjava.net/jiangshachina/archive/2011/11/20/364367.html 大家肯定都用过Eclipse的调试的功能,在调试的过 ...

  2. MySQL实现类似Oracle的序列

    MySQL实现类似Oracle的序列 2013-10-22 10:33:35     我来说两句      作者:走过的足迹 收藏    我要投稿 MySQL实现类似Oracle的序列   Oracl ...

  3. &lbrack;转&rsqb;ELO等级分体系

    [译前注:有读者问ELO等级分体系的说明.观网上好象没发现单篇文章就说得通俗清晰的,只好把找到几篇文章拿在一起合译互相补充.其间发现具体说法稍有差异,但总的来说概念一致.FIDE已经专门制定计算表了, ...

  4. 安装Ubuntu时,遇到自定义交换空间swap大小设置问题

    【整理】Ubuntu自定义分区设置 在安装Ubuntu时,如果使用的是一个新硬盘那么安装向导会建议你使用整个硬盘,如果硬盘上已经有数据了,向导会建议使用剩余的空间。不管怎样,是由向导自动划分的分区。 ...

  5. git merge –squash介绍

    Git相对于CVS和SVN的一大好处就是merge非常方便,只要指出branch的名字就好了,如: $ git merge another $ git checkout another # modif ...

  6. python 网络编程第二版

    为服务端增加多进程解决方案 1.server端代码如下: #!/usr/bin/python #!coding:utf-8 import os,sys,time from socket import ...

  7. 建立简单的Hash table(哈希表)by C language

    #define SIZE 1000 //定义Hash table的初始大小 struct HashArray { int key; int count; struct HashArray* next; ...

  8. ATL CAxWindow类创建问题一则

    查看一个浏览器源码实现,发现其中使用了ie的控件,但例子中没有找到任何创建ie浏览器控件的代码,经过仔细跟踪,发现CAxWindow类是可以这么使用滴.. 创建的时候第三个参数直接传入url.调用到C ...

  9. A&plus;P&plus;M&plus;W

    安装之前先做个目录的安排, D盘根目录建立”Dev”文件夹,在文件夹下建立: Php Apache Mysql 三个文件夹 所需软件: 0.    安装Apache的前必须安装VC11 vcredis ...

  10. JAVA判断字符串相等

    java中判断字符串是否相等有两种方法:1.用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc&qu ...