1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php 字符串编码方式转换 php字符串编码转换的常用几种方法_PHP教程

php 字符串编码方式转换 php字符串编码转换的常用几种方法_PHP教程

时间:2020-08-30 04:11:07

相关推荐

php 字符串编码方式转换 php字符串编码转换的常用几种方法_PHP教程

php教程 字符串编码转换的常用几种方法

mb_convert_encoding()

PHP的内码转换函数

版本(PHP 4 >= 4.0.6, PHP 5)

这个函数可以将各种编码互相转换

做一个GBK To UTF-8

< ?php

header("content-Type: text/html; charset=Utf-8");

echo mb_convert_encoding("你是我的友仔", "UTF-8", "GBK");

?>

再来个GB2312 To Big5

< ?php

header("content-Type: text/html; charset=big5");

echo mb_convert_encoding("你是我的朋友", "big5", "GB2312");

?>

iconv()

php内码转换函数,同上

因为iconv()在转换gb2312时的bug,所以要这样处理

PHP codeiconv( "UTF-8", "gb2312//IGNORE" , $str)

ignore的意思是忽略转换时的错误,发现iconv在转换字符"—"到gb2312时会出错,如果没有

ignore参数,所有该字符后面的字符串都无法被保存。

另外mb_convert_encoding没有这个bug,所以最好的写法是:

PHP codemb_convert_encoding($str,"gb2312", "UTF-8");

但是需要先enable mbstring 扩展库。

也可以把mysql教程数据库教程的collation设成utf-8就不用作转换了

三句mysql真言

SQL code

SET NAMES utf8;

SET CHARACTER SET utf8;

SET COLLATION_CONNECTION='utf8_general_ci';

自定函数1

--------------------------------------------------------------------------------

---

网上找的转换函数,将GB2312进行转换的,修改为utf-8后转换错误,无法解析中文.....期待正

则狂人...

PHP code

function unescape($str) {

$str = rawurldecode($str);

preg_match_all("/(?:%u.{4})|.+/",$str,$r);

$ar = $r[0];

foreach($ar as $k=>$v) {

if(substr($v,0,2) == "%u" && strlen($v) == 6)

$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));

}

return join("",$ar);

}

?>

自定函数2

--------------------------------------------------------------------------------

---

感谢论坛gingzai777 ,高手就是不一样,一眼就能看出问题所在.....

以后php过滤用这个行了,不需要顾虑文件编码了.....

PHP code

/PHPjc/632291.true/PHPjc/632291.htmlTechArticlephp教程 字符串编码转换的常用几种方法 mb_convert_encoding() PHP的内码转换函数 版本(PHP 4 = 4.0.6, PHP 5) 这个函数可以将各种编码互相转换 做一个...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。