Nekromanti Behöver hjälp med UTF8-strul i MySQL

Gardener

Champion
Joined
7 Feb 2000
Messages
8,445
Location
Södermalm
Behöver lite fräscha ögon för att få till uppgraderingen av artikelsystemet hit till Rollspel.nu

Mitt problem är att den gamla datan var i latin1, men det måste konverteras till utf8 för att funka med uppgraderingen.

Gör jag bara en rak uppgradering så verkar jag få dom gamla hederliga skräptecknen som uppstår när man visar utf8 som latin1. Och konverterar jag innan uppgraderingen så dör första konverteringsscriptet för att fältlängderna blir fel (när det tillkommer multibyte-tecken).

Jag har provat ungefär en miljard kombinationer och jag är rejält jävla less på det hela. Så om någon som har lite koll på teckenuppsättningar och MySQL kunde hjälpa till att ta en kik på detta så skulle det uppskattas väldigt mycket.

Det finns en lösning, som jag dock så långt det är möjligt vill undvika. Nämligen att skita att det blir utf8-strul och hacka ihop ett script som konverterar allting så det blir rätt i efterhand. Det är inte så svårt, men känns onödigt och jobbigt.
 

Anders Åstrand

Swordsman
Joined
25 Jul 2002
Messages
762
Den där databasen har hängt med ett tag... I gamla versioner av php+mysql var det inte så ovanligt att man lagrade text i något annat teckenset än vad mysql trodde. Kan det vara något sådant som spökar?

Om mysql har rätt information om vilket teckenset det är lagrat i borde något liknande följade funka:

<div class="ubbcode-block"><div class="ubbcode-header">Code:</div><div class="ubbcode-body ubbcode-pre" style="height: 48px;"><pre>
ALTER TABLE tabell CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
</pre></div></div>

Det kommer även automagiskt ändra kolumntyperna så att samma antal tecken kan lagras.

--

Jag tror säkert du har kommit förbi ovanstående för länge sedan eftersom du har testat en massa, men jag försöker bara förstå var vi står så jag vet vad jag kan hjälpa till med. :gremsmile:
 

Gardener

Champion
Joined
7 Feb 2000
Messages
8,445
Location
Södermalm
Jag är ganska säker på att jag provat att konvertera tabellerna. Men det var ett tag sen senast och det har varit lite många turer fram och tillbaka. Så det skadar verkligen inte att prova.

Grejen är att jag bara har en mysqldump. Från en databas jag inte vet vilken charset den hade, eller vilken version det var. Jag vet fan inte ens vilken charset det är i filen och om det stämmer överrens med vad det är satt i tabellerna när dom skapas.

Jag funderar lite över om det är MySQL:en i min MAMP som är lite knas...
 

Anders Åstrand

Swordsman
Joined
25 Jul 2002
Messages
762
Låter som det första jobbet blir att reda ut vilka charsets som används överallt (i filen, i tabellerna som skapas, et.c.)... lycka till, det kommer du behöva. :gremsmile:
 
Top