ORDER BY chinesische Schriftzeichen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abhilfe
anzahl
buchstabe
chinesischen schriftzeichen
chinesischen zeichen
code
codierung
ordern
ordnen
problem
realisieren
resultierende ordnung
schriftzeichen
sortieren
sortierung
strich
tabelle
verbotenes wort
wort
zeichen
-
Hallo Leute!
Ich habe auf meiner Seite eine Auflistung von chinesischen Vokabeln mit:
ID des Wortes, Deutsche Übersetzung, Pinyin (chinesische Lautschrift), und chinesische Schriftzeichen.
Nun möchte ich die Möglichkeit geben diese Tabelle zu ordnen, das funktioniert auch wunderbar mit ID (INT werte), mit der deutschen Übersetzung (einfache deuschte Wörter) und auch mit Pinyin (eine Buchstabenreihenfolge)
Nun habe ich allerdings in der DB direkt auch die chinesischen Schriftzeichen eingetragen wie etwa 你 oder 好.
Wenn ich ein ORDER BY nach der spalte mit den chinesischen Schriftzeichen mache bekomme ich allerdings keine Rückgabe, heißt, die Tabelle wird leer angezeigt.
Hat jemand von euch vielleicht eine Ahnung wie ich das hinbekomme, dass auch diese Sortierung funktioniert?
Bisher verstehe ich das so, dass jedem Buchstaben ja ein CHAR-Wert zugeordnet wird und beim sortieren nach Wörtern dann eben diese CHAR-Werte verglichen und somit eine Reihenfolge festgelet wird. Kann man einem chinesischen Schriftzeichen auch einen solchen code zuordnen?
Im chinesischen selbst werden die Schriftzeichen (zB in einem Wörterbuch) nach der Anzahl der Striche geordnet, das müsste ich aber dann ja selbst realisieren. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich denke, das Problem liegt bei der Codierung deiner DB. Am besten, du verwendest dort UTF-16, oder bei UTF-8 müssten die chinesischen Zeichen auch dabei sein, bin mir da aber nicht 100%ig sicher, da ich mit den chinesischen Zeichen noch nicht zu tun hatte. Versuche am besten erstmal, die chinesischen Zeichen auszugeben und wenn du dann nichts siehst, liegt es entweder an der codierung der DB und/oder deiner Webseite. Aber vorsicht: änderst du die Codierung, kann es die Inhalte zerschießen (zB deutsche Umlaute etc).
-
Im chinesischen selbst werden die Schriftzeichen (zB in einem Wörterbuch) nach der Anzahl der Striche geordnet, das müsste ich aber dann ja selbst realisieren.
Das ist mir ja neu. Ich könnte kein einziges Wort finden, wenn im Wörterbuch alles nach Anzahl der Strichen geordnet wäre... Wie sollte man dadurch das gewünschte Wort finden? Vor allem, da es bestimmt viele Zeichen gibt, die gleich viele Striche haben. Wie sollte man die sortieren?
Im Wörterbuch sind alle Zeichen alphabetisch nach Pinyin geordnet. Wenn man das Pinyin nicht weiß, kann man das Zeichen durch ein Index aus mehreren "Elementarzeichen" zusammensetzen. Diese Elementarzeichen sind nach Strichen geordnet, weil es nicht so viele davon gibt und meistens aus < 10 Striche bestehen. Würde man alle mögliche Zeichen nach Strichen sortieren, blickt man ja überhaupt nicht mehr durch. -
Hmm... ich habe mein Problem gefunden...
Ich hatte für den Spaltennamen die Bezeichnung "character" für engl. Schriftzeichen gewählt, und bei der Abfrage mit
... ORDER BY character
somit ein verbotenes Wort benutzt, welches für SQL reserviert ist... Abhilfe schaffen Anführungszeichen
... ORDER BY `character`
Allerdings finde ich die daraus resultierende Ordnung doch sehr merkwürdig. Nach pinyin sind sie dadurch nicht alphabetisch geordnet und auch nicht nach Strich-Anzahl. Da müsste ich wohl mal einen genaueren Blick in die UNICodes werfen, aber irgendjemand wird sich bei der Codierung schon was gedacht haben.
@ryanblack
Ich hatte schon 2-3 Wörterbücher in der Hand, bei denen die Sortierung in erster Ordnung nach der Strich-Anzahl erfolgte. Danach wurde Wert auf die verwendeten Radikale gelegt. Genauere Ausführungen dafür habe ich allerdings auch nicht, müsste ich mich erst nochmal genau informieren.
Beitrag zuletzt geändert: 21.12.2010 16:21:33 von beachteam -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage