Alt 01.01.2009, 14:42:51   #1 (permalink)
yoursmilie
Erfahrener Benutzer

ID: 167252
Lose senden

Reg: 25.04.2006
Beiträge: 864
Standard Problem mit der Ausgabe von Wörtern mit Umlauten

Hallo,
Folgendes Problem: Ich habe mir ein Formular geschrieben, mit dem ich Daten in einem Datenbank (mysql) schreiben kann. Soweit, so gut. Allerdings werden Umlaute mit "ä", "ö" usw. eingespeichert. Das Problem ergibt sich dann bei einer Ausgabe der Datensätze in alphabetischer Reihenfolge, da "ö" vor dem eigentlichem Buchstaben gesetzt werden.

Ausgeben lasse ich die Datensätze folgendermaßen:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
if(mysql_num_rows($query)){
echo 
'<table><tr><td><a href="inland.php">Name</a></td>';
 while(
$sql mysql_fetch_assoc($query)){
  echo 
'<tr>'
  
.'<td>'.$sql[name].'</td>'
  
.'</tr>'.chr(10);
 }
echo 
'</table></div>';

Wie kann man es nun bewerkstelligen, dass Wörter mit Umlauten an der richtigen Stelle im Alphabet angezeigt werden? Danke schon einmal fürs lesen.
 
yoursmilie ist offline   Mit Zitat antworten
Alt 01.01.2009, 14:57:27   #2 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.681
Standard

Naja, entweder du speicherst die Daten gleich korrekt (d.h. ohne HTML-Entities) ab oder du musst dir die Mühe machen und vor der Ausgabe rückumwandeln, um sortieren zu können.

Ich würde aber lieber gleich korrekt abspeichern, denn die DB sortiert um einiges schneller, als du umwandeln und selber sortieren kannst.
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 01.01.2009, 15:28:23   #3 (permalink)
yoursmilie
Erfahrener Benutzer

ID: 167252
Lose senden

Reg: 25.04.2006
Beiträge: 864
Standard

Zitat:
Zitat von theHacker Beitrag anzeigen
Ich würde aber lieber gleich korrekt abspeichern, denn die DB sortiert um einiges schneller, als du umwandeln und selber sortieren kannst.
Problem wäre dabei, dass ich um die 500 Datensätze schon in der Datenbank habe, die dann ja per Hand ändern müsste.
 
yoursmilie ist offline Threadstarter   Mit Zitat antworten
Alt 01.01.2009, 15:46:00   #4 (permalink)
flaschenkind
Erfahrener Benutzer

ID: 118459
Lose senden

Reg: 20.04.2006
Beiträge: 4.530
Standard

Du kannst doch nen Script schreiben, was das ganze übernimmt
flaschenkind ist offline   Mit Zitat antworten
Alt 01.01.2009, 15:52:30   #5 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.681
Standard

Zitat:
Zitat von yoursmilie Beitrag anzeigen
Problem wäre dabei, dass ich um die 500 Datensätze schon in der Datenbank habe, die dann ja per Hand ändern müsste.
Naja, wer von vorneherein so komisches Zeugs macht, muss sich dann nicht wundern, dass es entsprechenden Aufwand bereitet, das wieder grade zu biegen.

MySQL bietet String-Funktionen. Dann kannst du dir ein Script sparen und kannst das direkt mit nur einer Abfrage ändern:
Code:
1:
2:
UPDATE my_table SET field = ...(REPLACE(REPLACE(REPLACE(field, "&auml;", "ä"), "&ouml;", "ö"), ...;
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 02.01.2009, 20:33:06   #6 (permalink)
yoursmilie
Erfahrener Benutzer

ID: 167252
Lose senden

Reg: 25.04.2006
Beiträge: 864
Standard

Danke hat soweit alles mit dem Ändern geklappt.

Zitat:
Zitat von theHacker Beitrag anzeigen
Naja, entweder du speicherst die Daten gleich korrekt (d.h. ohne HTML-Entities) ab
Kannst Du mir einen Tipp geben, wie das zu bewerkstelligen ist?

Ich hatte was mit "mysql_query("SET CHARACTER SET 'utf8'");" gefunden - würde das was bringen? *verzweifelt*
 
yoursmilie ist offline Threadstarter   Mit Zitat antworten
Alt 02.01.2009, 23:26:07   #7 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.681
Standard

Zitat:
Zitat von yoursmilie Beitrag anzeigen
Kannst Du mir einen Tipp geben, wie das zu bewerkstelligen ist?
Ne. Einfach richtig machen.
Das Character-Set ist für die Zeichenkodierung der Daten verantwortlich (z.B. UTF-8 vs. ISO-...), nicht für die eigentlichen Daten, die du der DB sendest.

Ich mach mal wieder einen meiner komischen Vergleiche, um es "anschaulicher" zu erklären:
Du machst mir ein Sandwich. Nimmst Toastbrot, streichst Butter drauf, legst Käse, Salatblatt, Wurst, ne Tomatenscheibe und 4 Eierscheiben drauf, würzt mit etwas Pfeffer und haust noch ne Scheibe Toastbrot als Deckel drauf.
Nachdem du mir das Sandwich gegeben hast, beschwere ich mich, dass ich das Sandwich nicht mag, weil Butter drauf is.

Was is hier wohl der Tipp, um es mir recht zu machen?
<lösung>Den Butter einfach weglassen </lösung>
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Antwort

Stichworte
umlaute

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] Schleifen Problem mit Ausgabe djjlx Programmierung 3 30.06.2008 14:38:45
[HTML] Problem mit Umlauten KDANK Programmierung 5 16.02.2008 14:09:16
Problem mit Plesk und den Umlauten chris070 Webhosting 16 10.09.2007 21:07:46
[JS] inner.HTML Problem mit Ausgabe CrazySash Programmierung 6 08.10.2006 11:30:38
Problem mit Umlauten etc. wahnsinn Software/Windows 5 09.07.2006 10:04:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59:14 Uhr.