Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Naprawianie kodowania

Twój tekst został zakodowany w UTF-8, a następnie ponownie zdekodowany, błędnie, jako Mac Roman .

Nie będzie można tego naprawić w bazie danych, ponieważ MySQL nie zna kodowania Mac Roman. Możesz napisać skrypt, który obejmie każdy wiersz każdej tabeli, której dotyczy problem, i poprawi tekst, odwracając cykl kodowania/dekodowania. Możliwością jest Python, mający dobry zakres kodowań:

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

Alternatywnie, jeśli nie ma zawartości innej niż ASCII, na którą ten problem nie ma wpływu, możesz spróbować użyć mysqladmin aby wyeksportować zrzut SQL, a następnie przekonwertować go od razu, używając skryptu jak powyżej lub, jeśli masz edytor tekstu (prawdopodobnie na komputerze Mac), który może to zrobić, załadować skrypt jako UTF-8, a następnie zapisać go jako Mac Rzymski. Na koniec ponownie zaimportuj zrzut za pomocą mysql < dump.sql .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Szyny wybierają losowy rekord

  2. Czy powinienem używać pola typu blob MySQL?

  3. Baza przepisów, wyszukiwanie według składników

  4. AVG() – Oblicz średnią wartość kolumny w MySQL

  5. Jak zainstalować MySQL Workbench na Ubuntu?