Er sortierts ja prima...nur Wörter mit ÄÖÜ setzt er ganz ans Ende...wie kann ich da abhilfe schaffen mit MYSQL 3.23.49
Probleme mit Alphabetischer Sortierung
Einklappen
X
-
ein workaround direkt an der Datenbank:
http://mysql-faq.sourceforge.net/tables3.html
und einmal die daten an sich bearbeiten:
http://www.dclp-faq.de/q/q-mysql-umlaute-sortieren.html
hoffe, da ist was dabei
-
hmmm, ja schon, im 2. beispiel aber ist es anders, bisschen redundante daten, aber ist ja egal, dafür wird richtig sortiert!First: Things get worse under pressure.
Second: If anything just cannot go wrong, it will anyway
Third: A falling object will always land where it can do the most damage.
Kommentar
-
Einziges Problem:
a9 und a10 wird nicht nativ sortiert...
für alle, die in php sortieren möchten und nicht aus MySQL direkt (ist das gleiche Prinzip):
PHP-Code:// returns an array sorted including german umlauts
function sortWithUmlauts($array){
$dblValues = array();
$sortedArray = array();
foreach($array as $string){
$orig = $string;
$string = ereg_replace( '(&(.)uml;)', "('\\1e')", $string);
$string = ereg_replace( 'ä|Ä', 'ae', $string);
$string = ereg_replace( 'ö|Ö', 'oe', $string);
$string = ereg_replace( 'ü|Ü', 'ue', $string);
$string = ereg_replace( 'ß|ß','ss', $string);
$string = strtoupper($string);
$in = array($string, $orig);
array_push($dblValues, $in);
}
sort($dblValues);
foreach($dblValues as $a){
array_push($sortedArray,$a[1]);
}
return $sortedArray;
}
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Kommentar
-
@MoRtAlAn
dann musste das ja jedesmal bei der ausgabe so umschreiben, oder ne funktion machen......
nun ja, die redundanten daten sind ein riesiger brockenFirst: Things get worse under pressure.
Second: If anything just cannot go wrong, it will anyway
Third: A falling object will always land where it can do the most damage.
Kommentar
-
Original geschrieben von MelloPie
für alle, die in php sortieren möchten und nicht aus MySQL direkt (ist das gleiche Prinzip)
PHP-Code:function cmp ($a, $b) {
if ($a == $b) return 0;
$a=strtr($a,"ÄÖÜäöü","AOUaou");
$b=strtr($b,"ÄÖÜäöü","AOUaou");
return ($a < $b) ? -1 : 1;
}
usort($array,"cmp");
Kommentar
-
Original geschrieben von MoRtAlAn
mußt du ja nicht, du kannst ja auch bei speichern der daten alles mit ae,ue,oe speichern lassen und änderst es wieder mit der ausgabe...
mein nachname beinhaltet z.b. ein "oe". das ist ein "niederrheinisches dehnungs-e", wird also als ein langes o ausgesprochen.
kommt bei mir auch des öfteren vor, dass ich post erhalte, in denen dann "oe" durch "ö" ersetzt wurde - ist aber leider falsch.
stört mich zwar nicht wirklich, aber bei uns in der firma hab ich im umgang mit kundendaten auch schon leute erlebt die wegen einem ähnlich gelagerten umstand theater gemacht haben ...I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
Kommentar