Heim > Backend-Entwicklung > PHP-Tutorial > Fragen zur chinesischen Sortierung

Fragen zur chinesischen Sortierung

WBOY
Freigeben: 2016-08-04 09:21:55
Original
1105 Leute haben es durchsucht

Meine Datenquelle liegt im utf8-Format vor, aber ich muss die Daten sortieren. Da es sich um chinesische Daten handelt, habe ich sie in gbk oder gbk2312 konvertiert, aber bei der Sortierung sind einige Ungenauigkeiten aufgetreten

Ich habe mit der array_multi_sort-Methode von PHP sortiert

Ein solches Problem tritt bei den Sortierergebnissen auf

Fragen zur chinesischen Sortierung

Die Daten in der Blackbox sind offensichtlich falsch in absteigender Pinyin-Reihenfolge angeordnet, aber die nachfolgenden Daten sind alle angemessen. Ich kenne den Grund dafür nicht. Oder ist die GBK-Bibliothek nicht vollständig genug?

Fügen Sie einen Testcode hinzu

<code>$array = array("鹭","昊","瀚","骅","众","怡","萃","重","恺","鑫");
foreach($array as $val){
    $newArr[] = iconv('utf8','GBK',$val);
}

array_multisort($newArr,SORT_DESC,SORT_FLAG_CASE );
echo "<pre class="brush:php;toolbar:false">";
print_r($newArr);
die;</code>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

Meine Datenquelle liegt im utf8-Format vor, aber ich muss die Daten sortieren. Da es sich um chinesische Daten handelt, habe ich sie in gbk oder gbk2312 konvertiert, aber bei der Sortierung sind einige Ungenauigkeiten aufgetreten

Ich habe mit der array_multi_sort-Methode von PHP sortiert

Ein solches Problem tritt bei den Sortierergebnissen auf

Fragen zur chinesischen Sortierung

Die Daten in der schwarzen Box sind in absteigender Pinyin-Reihenfolge offensichtlich falsch, aber die folgenden Daten sind alle angemessen. Ich kenne den Grund dafür nicht? Oder ist die GBK-Bibliothek nicht vollständig genug?

Fügen Sie einen Testcode hinzu

<code>$array = array("鹭","昊","瀚","骅","众","怡","萃","重","恺","鑫");
foreach($array as $val){
    $newArr[] = iconv('utf8','GBK',$val);
}

array_multisort($newArr,SORT_DESC,SORT_FLAG_CASE );
echo "<pre class="brush:php;toolbar:false">";
print_r($newArr);
die;</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn das Sortierergebnis nach dem Pinyin der chinesischen Schriftzeichen möglicherweise nicht genau ist, können Sie auch nach den chinesischen Schriftzeichen sortieren ascii, aber die Komplexität des Programms erhöht sich, wenn Ihre Klassifizierungsdaten aus der Datenbank gelesen werden , können Sie versuchen, 排序字段

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage