Heim > Artikel > Backend-Entwicklung > PHP-Methode zum Konvertieren einer Zeichenfolge vom GBK- in den UTF8-Zeichensatz über iconv
PHP verwendet iconv, um die Zeichenfolge vom GBK- in den UTF8--Zeichensatz zu konvertieren. Freunde, die es benötigen, können darauf verweisen.
1. Einführung in iconv()
Die iconv-Funktion kann eine bekannte Zeichensatzdatei in eine andere bekannte Zeichensatzdatei konvertieren. Beispiel: Konvertieren von GB2312 nach UTF-8.
Die iconv-Funktion ist in PHP5 integriert und der GB-Zeichensatz ist standardmäßig aktiviert.
2. iconv()-Fehler
iconv macht beim Konvertieren des Zeichens „-“ in gb2312 einen Fehler. Die Lösung besteht darin, nach der zu konvertierenden Codierung „//IGNORE“ hinzuzufügen Parameter der iconv-Funktion. Wie folgt:
Der Code lautet wie folgt:
iconv("UTF-8", "GB2312//IGNORE", $data)
Ignorieren bedeutet, dass Fehler während der Konvertierung ignoriert werden. Alle auf dieses Zeichen folgenden Zeichenfolgen können nicht gespeichert werden.
3. iconv()-Beispiel
Beispiel 1:
Der Code lautet wie folgt:
<?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'); //得到设定编码的字符串长度 ?>
Beispiel 2:
Wenn Ihre PHP-Datei ist UTF-8-Kodierung, dann kann der folgende Code korrekt ausgegeben werden:
Der Code lautet wie folgt:
<?php $str='我爱百度'; $utf=''; for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); echo $utf; ?>
Wenn Ihre PHP-Datei GB ist, kann der folgende Code korrekt ausgegeben werden Arbeit:
Der Code lautet wie folgt:
<?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; ?>
Im obigen Fall lautet die Programmausgabe:
%E6%88%91%E7%88% B1%E7%99 %BE%E5%BA%A6
Das obige ist der detaillierte Inhalt vonPHP-Methode zum Konvertieren einer Zeichenfolge vom GBK- in den UTF8-Zeichensatz über iconv. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!