mboost-dp1

search'n'replace i mysql db


Gå til bund
Gravatar #1 - Azuria
9. mar. 2009 06:46
Godmorgen.
Er morgen kaffen faldet godt til? :)

Jeg sidder med et lidt trælst problem.
Jeg har en mysql database med godt 150mb data.
Det har jeg fået migreret over på en ny server.

Nu er det så bare at alle æøå tegn er udskiftet med andre ikke genkendelige tegn.

Tegnene er konsistente
æ = æ
å = Ã¥
ø = ø

Jeg har bare absolut ingen anelse om hvordan jeg skal rette det i samtlige tabeller. :-/

Jeg har adgang til mysql via php, phpmyadmin og console.
Mit bud ville være at php og phpmyadmin er udelukket, grundet tiden det ville tage at udføre opgaven.
Så console eneste reelle interface.

Mit mysql kendskab er desværre ikke at råbe hurra for, og google har desværre ikke været til nogen nytte.

Help please? :$
Gravatar #2 - rackbox
9. mar. 2009 06:54
Kunne det tænkes, at du blot skulle ændre tegntabel? Det ligner noget UTF-8, der er udsat for ANSI...

EDIT: Mit eget MySQL-kendskab er desværre også begrænset til lidt SELECT, INSERT, REPLACE, JOIN og diverse "standard-ting", men ellers kan en mulighed også være at lave et PHP-script i denne stil:

MYSQL: select * from table
PHP: str_replace(...)
MYSQL: replace into table...
Gravatar #3 - Sobuno
9. mar. 2009 07:05
Mit kendskab til mySQL er heller ikke særlig stort, men kan være følgende virker:

update tabel set felt = replace(felt, 'æ', 'æ')
Gravatar #4 - Azuria
9. mar. 2009 08:00
Jeg kan fint få denne kode til at virke
update phpbb3_users set user_interests = replace(user_interests,'Ã¥','å');


Den er dog meget specifik, kan man bruge wildcards mon?
Gravatar #5 - bodhiBit
9. mar. 2009 10:54
En ting som jeg tror mange glemmer er at sætte tegnsættet i PHP:
mysql_query("SET NAMES utf8");


Hvis du stadig har .sql-filen, kan du prøve at importere den igen med et andet tegnsæt..
Gravatar #6 - Azuria
9. mar. 2009 11:11
#5 Har den godt nok stadig, men siden er meget aktiv, og der er kommet en masse nye indlæg til på den nye server.

Men har fået rettet alt nu ser det ud til.
Gik hver tabel igennem med phpmyadmin for at se hvor der var mulighed for at der var danske tegn.
Og så ellers scriptet det igennem
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login