sql >> Database >  >> RDS >> Mysql

Coderingen corrigeren

Uw tekst is gecodeerd naar UTF-8 en vervolgens opnieuw gedecodeerd, ten onrechte, als Mac Roman .

U kunt dit niet in de database oplossen, omdat MySQL de Mac Roman-codering niet kent. Je zou een script kunnen schrijven om elke rij van elke betrokken tabel te doorlopen en de tekst op te lossen door de codeer-/decodeercyclus om te keren. Python is een mogelijkheid, met een goede reeks coderingen:

>>> print u'é'.encode('macroman').decode('utf-8')
é
>>> print u'ö'.encode('macroman').decode('utf-8')
ö
>>> print u'í'.encode('macroman').decode('utf-8')
í

Als alternatief, als er geen niet-ASCII-inhoud is die niet wordt beïnvloed door dit probleem, kunt u proberen mysqladmin te gebruiken om een ​​SQL-dump te exporteren en deze vervolgens in één keer te converteren, ofwel met behulp van een script zoals hierboven of, als je een teksteditor hebt (vermoedelijk op de Mac) die dit kan, laad het script als UTF-8 en sla het op als Mac Romeins. Importeer ten slotte de dump opnieuw met mysql < dump.sql .




  1. Meerdere polygonen tekenen op Google Maps API v3 vanuit MySQL-database

  2. Problemen met SQL Server CPU-prestaties oplossen

  3. Configuratie opslag setup [bestand vs. database]

  4. Hoe prefix-jokertekens zoals '*abc' te gebruiken met match-against