PHP converts string from GBK to UTF8character set through iconv. Friends in need can refer to it.
1. Introduction to iconv()
The iconv function can convert a known character set file into another known character set file. For example: Convert from GB2312 to UTF-8.
iconv function is built in php5, and the GB character set is turned on by default.
2. iconv() error
iconv will make an error when converting the character "-" to gb2312. The solution is to add "//IGNORE" after the encoding that needs to be converted, which is the second parameter of the iconv function. After. As follows:
The code is as follows:
iconv("UTF-8", "GB2312//IGNORE", $data)
ignore means to ignore errors during conversion. Without the ignore parameter, all strings following this character cannot be saved.
3. iconv() example
Example 1:
The code is as follows:
<?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'); //得到设定编码的字符串长度 ?>
Example 2:
If your PHP file is UTF-8 encoded , then the following code can be output correctly:
The code is as follows:
<?php $str='我爱百度'; $utf=''; for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); echo $utf; ?>
If your PHP file is GB, then the following code can work:
The code is as follows:
<?php $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; ?>
In the above case, the program output is:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA %A6
The above is the detailed content of php method to convert string from GBK to UTF8 character set through iconv. For more information, please follow other related articles on the PHP Chinese website!