Heim >Backend-Entwicklung >PHP-Tutorial >iconv und mb_convert_string String-Konvertierung

iconv und mb_convert_string String-Konvertierung

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-07-29 09:12:491298Durchsuche

Ich habe mich in letzter Zeit mit der String-Konvertierung beschäftigt, und die beiden am häufigsten verwendeten sind die beiden String-Konvertierungen, die in PHP enthalten sind. Dann werde ich in einigen Szenarien diese beiden String-Codierungs-Konvertierungsfunktionen verwenden 🎜>

Nutzungsszenarien:
Anfrage:

ajax
POST-Anfrage Serverkodierung GBK Seitenkodierungs-GBK

Problem: Da die von der

Ajax

-Anfrage gesendeten Daten alle im UTF-8-Format kodiert sind, müssen wir die UTF-8-kodierten Daten konvertieren Lösung 1: Verwenden Sie iconv

Lösung 2: Verwenden Sie mb_convert_encode()
<code><?php
<span>$postStr</span> = file_get_contents(<span>"file://input"</span>); <span>//</span> 将post的数据以字符流的形式读取
<span>$inCharset</span> = <span>"UTF-8"</span>;
<span>$outCharset</span> = <span>"GBK"</span>;
<span>$postStr</span> = iconv(<span>$inCharset</span>,<span>$outCharset</span>,<span>$postStr</span>);
<span>//</span> 将字符串转换为<span>$_POST</span>形式的数组
parse_str(<span>$postStr</span>,<span>$_post</span>);
</code>

Beide der beiden oben genannten Methoden können eine String-Transkodierung durchführen, es gibt jedoch eine Notwendigkeit. Beachten Sie dies, wenn Sie konvertieren Wenn Sie die konvertierte Zeichenfolge zurückgeben, dürfen Sie die beiden Methoden nicht mischen, da es sonst zu Phasenproblemen bei chinesischen Schriftzeichen kommen kann.
<code><?php
<span>$postStr</span> = file_get_contents(<span>"file://input"</span>); <span>//</span> 将post的数据以字符流的形式读取
<span>$inCharset</span> = <span>"UTF-8"</span>;
<span>$outCharset</span> = <span>"GBK"</span>;
<span>$postStr</span> = mb_convert_encode(<span>$postStr</span>,<span>$outCharset</span>,<span>$inCharset</span>);

<span>//</span> 将字符串转换为<span>$_POST</span>形式的数组
parse_str(<span>$postStr</span>,<span>$_post</span>);
</code>

Beispiel:

Verschachteln Sie also niemals zwei Methoden, um sich gegenseitig zu konvertieren.
<code><?php
<span>$postStr</span> = file_get_contents(<span>"file://input"</span>); // 将post的数据以字符流的形式读取
<span>$inCharset</span> = <span>"UTF-8"</span>;
<span>$outCharset</span> = <span>"GBK"</span>;
<span>$postStr</span> = mb_convert_encode(<span>$postStr</span>,<span>$outCharset</span>,<span>$inCharset</span>);

// 转换为原来的字符串
<span>$postStr</span> = iconv(<span>$outCharset</span>,<span>$inCharset</span>.<span>"//IGNORE"</span>,<span>$postStr</span>);
// 如果源 <span>$postStr</span>为 UTF-<span>8</span>的 <span>'我是谁?'</span>
// 那么新的 <span>$postStr</span> 为 <span>'?'</span> ,如果不加 <span>"//IGNORE"</span> 结尾 则会跑出一个异常

</code>

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i

').text(i)); }; $numbering.fadeIn(1700); }); }); Das Obige stellt die String-Konvertierung von iconv und mb_convert_string vor, einschließlich Ajax-Inhalten. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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