[MySQL] Problem mit sonderzeichen!

saig

Member
ID: 75294
L
7 August 2006
17
1
also ich habe folgendes Problem:

nach einem backup sind die Sonderzeichen ... à usw zu á und ähnlichem geworden ... diese kann man doch sicher wieder zu à usw machen ... bin da glaube auch schon auf der richtigen spur ... nur fehlt mir da wohl die kenntniss über die einzelnen zeichensätze ...
PHP:
UPDATE `members` SET `name`=CONVERT( _utf8 '$name' USING latin1 ) COLLATE latin1_general_ci WHERE `member_id`='$member_id'

wenn ich dies anwende werden alle (á und é ....) verunstalteten Sonderzeichen alle zum einem ? .... denke dass ich da einfach diesen Convert befehl mit den richtigen zeichensätzen füttern muss ...

Kann mir da bitte jmd helfen sitz da ez ungelogen schon seit 24std ohne pause davor und binn echt langsam am verzweifeln!
 
Fand ein Update auf eine andere MySQL-Version statt? Oder wurden die Tabellen nicht mit dem gleichen Zeichensatz neu erstellt?

Prüfe und vergleiche doch mal, was vorher und was nachher in der Tabellenstruktur für Zeichensätze für die Tabelle und für die Spalten gesetzt sind bzw. waren.

Im übrigen, hast du schon das MySQL-Handbuch dazu dir angesehen, dort sollte eigentlich alles stehen, was du dazu brauchst.

https://dev.mysql.com/doc/refman/4.1/en/charset.html
 
also es ist anch wie vor latin1
ka was da los ist ....

aber hab mir das mysql handbuch angesehen .... ich weis ez wie man Müller zu müller macht .... aber andersrum gehts net :(

hier die zeile von Müller zu müller:
SELECT CAST( _latin1 'müller' AS CHAR
CHARACTER SET utf8 ) COLLATE utf8_bin


Aber ich wills andersrum
und das geht nicht :
SELECT CAST( _utf8 'Müller' AS CHAR
CHARACTER SET latin1 ) COLLATE latin1_bin


JMD ne idee??
 
Datenbank löschen und nochmal reinladen als Latin1. Dann sollten in der Datenbank alle Zeichen richti stehen und dann kannst du auch ganz normale selects machen und musst im select nichts mehr umkonvertieren.
 
leider ist das nicht mehr so einfach möglcih ... auserdem wollte ich in de select net convertieren sondern einfach einmal alles per update .... aber danke für die antwort!


kann mit jmd weiterhelfen?
 
du meinst dann so:

SELECT CAST( _utf8 'Müller' AS CHAR
CHARACTER SET latin1 ) COLLATE latin1_bin


aber da kommt bei mir auch Müller raus ...


wie hast es du gemacht?
 
Wie gesagt, ich habe die Datenbank als Latin1 hochgeladen. Dann gings. Wie die Befehle in selects sind, weiß ich nicht, sorry.