编码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码问题相关的知识,希望对你有一定的参考价值。

首先了解一下编码历史:

http://mp.weixin.qq.com/s?__biz=MzAwNjMxMTA5Mw==&mid=401012247&idx=1&sn=5d4b9af3156687fd05d20180303e7157&scene=23&srcid=1215x42pRxC1zUruI9QWUbPR#rd

编码函数  iconv 

 

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

将字符串 strin_charset 转换编码到 out_charset

参数

in_charset

输入的字符集。

out_charset

输出的字符集。

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

str

要转换的字符串。

返回值

返回转换后的字符串, 或者在失败时返回 FALSE

范例

<?php
$text = "This is the Euro symbol ‘€‘.";

echo ‘Original : ‘, $text, PHP_EOL;
echo ‘TRANSLIT : ‘, iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo ‘IGNORE   : ‘, iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo ‘Plain    : ‘, iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>
 
 
 

2 htmlspecialchars_decode

(PHP 5 >= 5.1.0, PHP 7)

htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符

说明

string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )

此函数的作用和 htmlspecialchars() 刚好相反。它将特殊的HTML实体转换回普通字符。

被转换的实体有: &amp;&quot; (没有设置ENT_NOQUOTES 时), &#039; (设置了 ENT_QUOTES 时), &lt; 以及&gt;

参数

string

要解码的字符串       

 
mb_convert_encoding

说明

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )

string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding

参数

 str

要编码的 string

to_encoding

str 要转换成的编码类型。

from_encoding

在转换前通过字符代码名称来指定。它可以是一个 array 也可以是逗号分隔的枚举列表。 如果没有提供 from_encoding,则会使用内部(internal)编码。

参见支持的编码

返回值

编码后的 string。   

以上是关于编码问题的主要内容,如果未能解决你的问题,请参考以下文章

使用windows命令和iconv.exe批量转换文件编码

编码问题

iconv命令详解

cocos2d-x学习笔记使用NDK自带的iconv进行编码转换

php 中改变字符编码的函数 是 iconv()

iconv命令