sql >> Databáze >  >> RDS >> Mysql

Oprava kódování

Váš text byl zakódován do UTF-8 a poté chybně znovu dekódován jako Mac Roman .

Nebudete to moci opravit uvnitř databáze, protože MySQL nezná kódování Mac Roman. Můžete napsat skript pro procházení každého řádku každé ovlivněné tabulky a opravit text obrácením cyklu kódování/dekódování. Python je možnost, která má dobrý rozsah kódování:

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

Případně můžete zkusit použít mysqladmin, pokud neexistuje žádný obsah, který není ASCII a který není tímto problémem ovlivněn exportovat SQL výpis, pak jej převést celý najednou, buď pomocí skriptu, jak je uvedeno výše, nebo, pokud máte textový editor (pravděpodobně na Macu), který to umí, načíst skript jako UTF-8 a poté jej uložit jako Mac Římský. Nakonec znovu naimportujte výpis pomocí mysql < dump.sql .




  1. Monitorování výkonu MySQL pomocí ClusterControl

  2. Kámo, kdo vlastní ten #temp stůl?

  3. PHP mysql prohledává více tabulek pomocí klíčového slova

  4. Proč se sekvence ID SQL nesynchronizují (konkrétně pomocí Postgres)?