sql >> Database teknologi >  >> RDS >> Mysql

Reparation af kodninger

Din tekst er blevet kodet til UTF-8 og derefter omkodet, fejlagtigt, som Mac Roman .

Du vil ikke være i stand til at rette dette inde i databasen, da MySQL ikke kender Mac Roman-kodningen. Du kan skrive et script for at gennemgå hver række i hver berørt tabel og rette op på teksten ved at vende indkodnings-/afkodningscyklussen. Python er en mulighed, der har et godt udvalg af kodninger:

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

Alternativt, hvis der ikke er noget ikke-ASCII-indhold, der ikke er påvirket af dette problem, kan du prøve at bruge mysqladmin for at eksportere en SQL-dump, så konverter det hele på én gang, enten ved at bruge et script som ovenfor, eller, hvis du har en teksteditor (formodentlig på Mac), der kan gøre det, indlæse scriptet som UTF-8 og derefter gemme det som Mac romersk. Til sidst genimporter dumpet ved hjælp af mysql < dump.sql .




  1. 50 Shades of NULL – De forskellige betydninger af NULL i SQL

  2. Begrænsning af returneret post fra SQL-forespørgsel i Oracle

  3. Hvordan indsætter man javascript i mysql-databasen?

  4. Er dette en sikker metode til at indsætte formulardata i en MySQL-database?