Databasecodering wijzigen met bestaande gegevens

Als ik de codering van mijn database wijzig, tabellen en gerelateerde kolommen van latin1_swedish_ci (standaard) naar utf8_general_ci om Europese en andere tekens weer te geven, is dat dan van toepassing op bestaande gegevens, of alleen voor nieuwe inserts?

I currently have names showing up as Rubén which don't fix themselves even when changing that column's encoding to utf8_general_ci.

Moet ik mijn gegevens opnieuw importeren in de database, of kan ik coderingswijzigingen op bestaande gegevens toepassen 'in-place'?

3
OK. Ik dacht dat de intern opgeslagen gegevens goed zouden zijn, maar incorrect zouden zijn gedecodeerd.
toegevoegd de auteur Bojangles, de bron
@Andre Zet dat als een antwoord en ik accepteer het. Mijn problemen zijn opgelost. Dank je!
toegevoegd de auteur Bojangles, de bron
Hoe moet de DB weten dat die personages in werkelijkheid in de ogen van de mens zijn misvormd? Het enige wat het weet, is dat het is verteld om precies die personages op te slaan. Dus ja, je zult ze in principe zelf moeten converteren.
toegevoegd de auteur BalusC, de bron
toegevoegd de auteur Andre, de bron
@JamWaffles: klaar!
toegevoegd de auteur Andre, de bron

1 antwoord

Dit kan helpen:

UPDATE table SET column=CONVERT(CONVERT(column USING binary) USING utf8) WHERE id=123;

Source: http://www.mysqlperformanceblog.com/2007/12/18/fixing-column-encoding-mess-in-mysql/

2
toegevoegd