Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Methode zum Konvertieren einer Zeichenfolge vom GBK- in den UTF8-Zeichensatz über iconv

PHP-Methode zum Konvertieren einer Zeichenfolge vom GBK- in den UTF8-Zeichensatz über iconv

怪我咯
怪我咯Original
2017-07-07 10:20:243149Durchsuche

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= ‘你好,这里是卖咖啡!&#39;; 
  echo &#39;<br />&#39;; 
  echo iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $str); //将字符串的编码从GB2312转到UTF-8 
  echo &#39;<br />&#39;; 
  echo iconv_substr($str, 1, 1, &#39;UTF-8&#39;); //按字符个数截取而非字节 
  print_r(iconv_get_encoding()); //得到当前页面编码信息 
  echo iconv_strlen($str, &#39;UTF-8&#39;); //得到设定编码的字符串长度 
?>

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=&#39;我爱百度&#39;; 
  $utf=&#39;&#39;; 
  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=&#39;我爱百度&#39;; 
  $str=iconv("GBK", "UTF-8", $str); 
  $utf=&#39;&#39;; 
  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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn