php编码转换相关

  • iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

iconv — 字符串按要求的字符编码来转换

 

string iconv ( string $in_charset , string $out_charset , string $str )

将字符串 str 从 in_charset 转换编码到 out_charset

$in_charset

输入的字符集。

$out_charset

输出的字符集。

如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,会导致一个 E_NOTICE并返回 FALSE

Caution

//TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL)。 据悉,某些系统上的实现会直接忽略//TRANSLIT,所以转换也有可能失败,out_charset 会是不合格的。

$str

要转换的字符串。

 

范例

<?php

$content="微信图片";
//utf-8转gbk
$content = iconv("utf-8","gb2312//IGNORE",$content);
//gbk转utf-8
$content = iconv("gb2312","utf-8//IGNORE",$content);
echo urlencode($content)."\n";

?>

 

在转换编码的时候 要特别注意第二个参数后面是否加 //IGNORE 否则将返回错误

 

 

 

 

 

 

 



 

  • url编码转换

 

 

  URLEncode:是指针对网页url中的中文字符的一种编码转化方式,URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),另一种是基于UTF-8的Encode(Google、Yahoo等使用)。
<?php
//GB2312的Encode
echo urlencode("中文")."\n"; //%D6%D0%CE%C4
echo urldecode("%D6%D0%CE%C4")."\n"; //中文
echo rawurlencode("中文")."\n"; //%D6%D0%CE%C4
echo rawurldecode("%D6%D0%CE%C4")."\n"; //中文
?>

 


posted @ 2016-08-12 12:01  long隆  阅读(170)  评论(0编辑  收藏  举报