PHP通过iconv将字符串从GBK转换为UTF8字符集
PHP通过iconv将字符串从GBK转换为UTF8字符集的方法,需要的朋友可以参考下。
1. iconv()介绍
iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。
iconv函数在php5中内置,GB字符集默认打开。
2. iconv()错误
iconv在转换字符”—”到gb2312时会出错,解决方法是在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后.如下:
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
3. iconv()例子
例1:
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:
如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
$str='我爱百度';
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
如果你的PHP文件是GB的,那么下面的代码可以工作:
$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将字符串从GBK转换为UTF8字符集的更多相关文章
- 函数:PHP将字符串从GBK转换为UTF8字符集iconv
1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. iconv函数在php5中内置,GB字符集默认打开. 2. ic ...
- 将字符串的编码格式转换为utf-8
方式一: /** * 将字符串的编码格式转换为utf-8 * * @param str * @return Name = new * String(Name.getBytes("ISO-88 ...
- JAVA中文字符串编码--GBK转UTF-8
转载自:https://www.cnblogs.com/yoyotl/p/5979200.html 一.乱码的原因 gbk的中文编码是一个汉字用[2]个字节表示,例如汉字“内部”的gbk编码16进制的 ...
- 将一个文件从gbk编码转换为utf8编码
用django展示模板时,出现如下错误: 'utf8' codec can't decode byte 0xd3 in position 197: invalid continuation byte ...
- PHP iconv函数字符串转码导致截断问题
1.iconv函数原型 string iconv ( string $in_charset , string $out_charset , string $str ) in_charset:输入的字符 ...
- PHP 把GBK编码转换为UTF8
//把GBK编码转换为UTF8 $name="勿以善小而不为"; $name=iconv("GBK", "UTF-8", $name);
- 在Linux下使用iconv转换字符串编码
在Linux下写C程序,尤其是网络通信程序时经常遇到编码转换的问题,这里要用到iconv函数库. iconv函数库有以下三个函数 123456 #include <iconv.h>icon ...
- gbk转utf-8 iconv 编码转换
linux以下有时候 字符须要进行编码转换(爬虫将gbk转为utf-8编码...).一般能够选择iconv函数. 终端以下 输入 man 3 iconv 得到 iconv函数的用法. 个人看习惯了 ...
- JS 字符串转 GBK 编码超精简实现
前言 JS 中 GBK 编码转字符串是非常简单的,直接调用 TextDecoder 即可: const gbkBuf = new Uint8Array([196, 227, 186, 195, 49, ...
随机推荐
- UI界面测试
概念:指测试用户界面的风格是否满足用户要求.文字是否正确.页面是否美观.文字与图片组合是否完美.操作是否友好等. 1.窗体测试 { 窗体大小. 移动窗体. 缩放窗体. 显示分辨率. 状态栏. 工具栏. ...
- Azure Web应用相关设置
这里用来记录自己在工作中,在Azure Web应用中用到的配置 设置NodeJS版本 Azure Web应用默认的NodeJS版本是0.10.4,这个版本太低,不能满足实际的需要 参照下图修改,根据自 ...
- WebGL学习之HDR与Bloom
原文地址:WebGL学习之HDR与Bloom 什么是HDR HDR (High Dynamic Range,高动态范围),在摄影领域,指的是可以提供更多的动态范围和图像细节的一种技术手段.简单讲就是将 ...
- win7下exe文件设置为开机启动
如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:( ...
- ios客户端浏览器样式加载失效问题
最近线上测试中出现一个奇怪的问题,ios客户端浏览器样式加载失效. 从表象来看,同样的css,安卓手机上可以正常展示,但是到ios手机上首次进入页面就不能正常显示 这时候,我们首先会考虑是不是ios设 ...
- (模板)poj1113(graham扫描法求凸包)
题目链接:https://vjudge.net/problem/POJ-1113 题意:简化下题意即求凸包的周长+2×PI×r. 思路:用graham求凸包,模板是kuangbin的. AC code ...
- 事务的ACID
事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚. 简单地说,事务提 ...
- Demonstration(CodeForces-191B)【贪心】
题目链接:https://vjudge.net/problem/CodeForces-191B 题意:过于繁琐,略 思路:真·神级贪心题 首先我们可以想到的是,为了在k天内选到最靠前的城市,我们要想办 ...
- oddo
看了这张图,或许你对odoo有了一些兴趣. https://www.cnblogs.com/wterp/p/9093616.html 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者 ...
- glib系列2 APP编译
编译命令 gcc main.c `pkg-config --cflags glib-2.0 --libs glib-2.0` 头文件 $ ls /usr/local/include/glib-2.0/ ...