FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
Hej!
Nu har vi i princip sök igenom hela internet samt testat alla tips vi hittat, utan framgång. När vi migrerar vår gamla ms sql till mysql får vi teckenkodningsfel på åäö. Nån som varit med om detta och har ytterligare tips, hur löste ni det? Det vore guld värt då vi kört fast lite i utvecklingen ![]() Tack på förhand! Pelle |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Har WN som tidsfördriv
|
Har inte varit med om det tidigare och är inte så duktig på mysql men, det lär finnas en convert() funktion att köra via en update. Här finns lite dokumentation.
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Tror det behövs mer specifik info -
vilken teckenkodning användes i MS SQL? Vilken används nu? (Databasen, tabellen, fältet) I vilket sammanhang används databasen? (I exempelvis en webbsättning uppstår ju ett flertal ställen där det kan gå snett) Beskriv lite mer ingående. Använd något i stil med phpMyAdmin för att komma åt databasen och kolla ifall datan har sabbats när ni migrerade eller ifall det är rätt lagrat men hämtas fel (phpMyAdmin autocheckar teckenkodning och löser den biten per automatik). Kolla även att databasuppkopplingen sker i rätt teckenkodning (Använd "SET NAMES [UTF8/whatever ni använder]") |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
Kan det vara så att ni kört MS SQL i typ 8859-16 (eller typ cp1252 och MySQL i UTF-8 eller tvärt om?
Om ni migrerade genom att dumpa ner hela databasen till en textfil (med alla create table, inserts osv i) så går det att se vilken kodning som orginalet är i genom att öppna den i en hexeditor (ex hexdump -c i linux) och kolla vilken kod som ett å, ä eller ö har i filen. Mha phpMyAdmin så kan man kolla vilken kodning som dina tabeller i MySQL har. Enklast kan ju vara att ändra där till exakt samma som ni då hade i MSSQL, men UTF-8 blir mer och mer standard (och nya MySQL har UTF-8 som default). Sedan om ni ex kör MySQL på en linuxburk så kan man lätt konvertera hela filen rakt av mha iconv: iconv --from-code ISO_8859-16 --to-code UTF-8 mssql.sql > mysql.sql "iconv --list" ger en lång lista över alla olika kodningar som man kan konvertera från och till. |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Citat:
Kod:
iconv -f ISO_8859-1 -t UTF-8 mssql.sql > mysql.sql Bra tips Henrik, hade inte tänkt på det själv. |
|||
![]() |
![]() |
Svara |
|
|