Heim >Backend-Entwicklung >PHP-Tutorial >Fragen zur chinesischen Sortierung
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
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>
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
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>
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, 排序字段