Heim  >  Artikel  >  Backend-Entwicklung  >  PHP erkennt und konvertiert die Textkodierung automatisch

PHP erkennt und konvertiert die Textkodierung automatisch

*文
*文Original
2017-12-27 14:03:491659Durchsuche

Wie erkennt und konvertiert PHP automatisch die Textcodierung? In diesem Artikel wird hauptsächlich die Methode von PHP vorgestellt, mit der die Textkodierung automatisch identifiziert und in die Zielkodierung konvertiert wird. Dazu gehört die Beurteilung der aktuellen Kodierung durch PHP und die entsprechenden Fähigkeiten zur Implementierung der Kodierungskonvertierung. Ich hoffe, es hilft allen.

Die Details sind wie folgt:

Wenn PHP Seiten verarbeitet, verwenden wir Funktionen wie iconv oder mb_convert, um Zeichensätze zu konvertieren, aber dies hat tatsächlich eine Prämisse. Das heißt, wir müssen im Voraus wissen, welche Ein- und Ausgabekodierungen es gibt, damit wir die korrekte Konvertierung durchführen können.

Obwohl die meisten Konvertierungen zwischen gbk und utf-8 erfolgen, was sollten Sie tun, wenn Sie die Codierung des Konvertierungsobjekts nicht kennen? Google hat eine solche Funktion „safeEncoding“ entwickelt, mit der die Codierung leicht identifiziert werden kann von UTF8 und GBK. Diese Funktion ist bis zu einem gewissen Grad sehr genau, aber in einigen komplexeren Umgebungen ist sie nicht so einfach zu verwenden. Im Folgenden kombiniere ich die Unterschiede zwischen GBK- und UTF-8-Kodierung und verwende reguläre Ausdrücke, um die UTF-8-Kodierung zu bestimmen und mb_convert_encoding zu verwenden Funktion zum Konvertieren. In China sind GBK und UTF-8 die beliebtesten Kodierungen, daher konvertiert diese Funktion diese beiden Kodierungen automatisch :


/**
* @ string 需要转换的文字
* @ encoding 目标编码
**/
function detect_encoding($string,$encoding = 'gbk'){
 $is_utf8 = preg_match('%^(?:[\x09\x0A\x0D\x20-\x7E]| [\xC2-\xDF][\x80-\xBF]| \xE0[\xA0-\xBF][\x80-\xBF] | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  | \xED[\x80-\x9F][\x80-\xBF] | \xF0[\x90-\xBF][\x80-\xBF]{2} | [\xF1-\xF3][\x80-\xBF]{3} | \xF4[\x80-\x8F][\x80-\xBF]{2} )*$%xs', $string);
 if($is_utf8 && $encoding == 'utf8'){
  return $string;
 }elseif($is_utf8){
  return mb_convert_encoding($string, $encoding, "UTF-8");
 }else{
  return mb_convert_encoding($string, $encoding, 'gbk,gb2312,big5');
 }
}
PHP-Codierungskonvertierung - Zeichencodierungskonvertierung

PHP-Transcodierungsmethode für verstümmelten Code, um den Zugriff auszulösen URL

utf-8-PHP verstümmelter Code – teilweise verstümmelter Code

Das obige ist der detaillierte Inhalt vonPHP erkennt und konvertiert die Textkodierung automatisch. 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