SQL REPLACE funktioniert nicht

hoktar

Mitglied
Hallo, kann mir jemand einen Rat geben warum die SQL REPLACE Funktion bei mir nicht funktioniert?

Code:
UPDATE 'auto_autos' SET 'content' = REPLACE(content,'ö','ö')

Es passiert einfach nichts.

Obwohl der String "ö" oft vorkommt, wird er nicht ersetzt.

Konkret geht es darum, kaputte Umlaute wieder auf normales Format zu bringen weil die Spalte "content" mal auf latin-1 codiert war und dadurch die Umlaute zerstört hat.

Mein PHP Script ist jetzt UTF8, und die Spalte ebenso.

Danke schonmal :)
 
Zuletzt bearbeitet:
Hey,


du bist ier aber im falschen Forum ;)
Biste hier bei "PHP"
Aber so sollte es gehen

SQL:
   1.
      UPDATE
             testtabelle
         SET
             name = REPLACE (
                                 name,
                                 'test',
                                'testtest'
             )

mfg

bo
 
Zuletzt bearbeitet von einem Moderator:
Bei Tabellen und Feldnmane kommt kein ' hin. ggf falls du komische Namen hast ein ´

SQL:
UPDATE auto_autos SET content = REPLACE(content,'ö','ö')
 
Zuletzt bearbeitet von einem Moderator:
Habs den Moment auch entdeckt. :-(
Wie peinlich..hab ich einfach nicht gesehn..

Aber es funktioniert jetzt noch immer nicht. Es kommt zwar keine Fehlermeldung mehr aber er tut einfach nichts.

(Sorry wegen dem falschen Forum, wusste nicht, dass es ein eigenes DB forum gibt, vielleicht kanns ja wer verschieben?)
 
Verscuhs mal mit char() damit keine Konflikte mit komischen Zeichen entstehen

SQL:
UPDATE auto_autos SET content = REPLACE(content,CHAR(195,182),CHAR(246))

PS, die Nummern lassen sich mit PHP ganz leicht ermitteln:
PHP:
echo ord('Ã') , ',', ord('¶');
 
Zuletzt bearbeitet von einem Moderator:
Leider auch nicht, aber danke.
Jetzt dürfte er zwar das Zeichen gefunden haben, aber anstatt es aus zu tauschen hat er den String einfach ab dort inklusive dem Zeichen weggeschnitten.:confused:
 
Sorry.



Ja mit php ginge es schon, aber ist halt sehr unschön :/

Und es MUSS ja funktionieren mit replace in SQL?
 
Teste einfach mal mit SELECT in phpMyAdmin.

SQL:
SELECT REPLACE(content,CHAR(195,182),CHAR(246)) FROM  auto_autos

Da kannst du gut verschiedene Sachen ausprobieren ohne dass die Daten gleich geändert werden
 
Zuletzt bearbeitet von einem Moderator:
Zurück