FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Mycket flitig postare
|
Har ett litet akut problem. Fick krasch på en MyIsam tabell och har skapat om den och laddat tillbaka data. Så långt allt väl. Men nu ser jag att mina svenska tecken åäö blir fel efter re-load (=skräp)
Jag kör mysql 5 och har dumpat databasen med mysqldump db > dump Laddar sedan med mysql db < dump och det blir fel. Någon som har något tips ?!? kollationering = latin1_swedish_ci (om det har betydelse??) Exmpel: "Gullig och söt !!!", ska vara "söt" på slutet.... |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Skräptecknen är UTF-8 som tolkade som latin1, en klassiker.
Jag gissar att den dumpade filen använder UTF-8. Konvertera den till latin1 med lämpligt program och ladda om den i MySQL igen. |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Jo jag förstår att det är UTF-8. Det får bli ett senare problem varför dumpen blev i utf-8.
Någon som har ett tips om hur jag får in mitt data konverterat tillbaka till latin1 tas tacksamt emot. Har kört fast... Provade att köra iconv på min mysqldump-fil (iconv --from-code=UTF-8 --to-code=ISO-8859-1 hdkonto.sql > konto_latin.sql) men det dumpar: iconv: illegal input sequence at position 128637 Känns som det BORDE vara enkelt men HUR gör jag smartast. Som sagt tacksam för konkret tips... |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Testa iconv --from-code=UTF-8 --to-code=ISO-8859-1//TRANSLIT hdkonto.sql > konto_latin.sql
Har du tur så fungerar det. Har du otur så får du andra skräptecken eller korruption istället. Kostar inget att prova i alla fall. |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Citat:
Nu måste jag göra in hemläxa så jag löser detta bättre nästa gång. Någon som har tips?! Hur ni gör; - Min mysqldump gav utf-8 kodning på min latin1 databas. Någon som vet vad som styr detta ? - Idag dumpar jag hela databsen varje natt. Ibland händer det att jag vill ladda om en enskild tabell. Hur gör jag smartast för att "komma åt den" ut min stora dumpfil (nu kör jag grep på INSERT rader - känns primitivt...) |
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Mycket flitig postare
|
Citat:
2. Istället för att dumpa alla databaser i en klump gör så här: Kod:
YEAR=`date '+%Y'` MONTH=`date '+%B'` DAY=`date '+%d'` BACKUPROOT=/path/var/jag/vill/lagga/mina/filer BACKUPDIR=${BACKUPROOT}/${YEAR}/${MONTH}/${DAY} for db in `echo "show databases"| mysql -u<user> -p<pass> | grep -v Database`; do for table in `echo "show tables" | mysql -u<user> -p<pass> $db | grep -v Tables_in`; do BACKUPDBDIR=${BACKUPDIR}/${db} if [ ! -d ${BACKUPDBDIR} ]; then mkdir -p ${BACKUPDBDIR} fi mysqldump -u<user> -p<pass> $db $table > ${BACKUPDBDIR}/${table} done done |
|||
![]() |
![]() |
Svara |
|
|