Mysql
 sql >> база данни >  >> RDS >> Mysql

Преобразуване на MySQL таблица с неправилно кодирани данни в UTF-8

Този метод по-долу изглежда наистина обещаващ и още по-добър, красив в своята простота. Идеята е, че mysqldump цялата си база данни като latin1 и след това я импортирате повторно кодирана като utf-8.

Експортиране:

Импортиране:

Не вземам заслуга за това решение, то е изцяло от Блогът на Гарет Прайс . Сработи за всички, които са му оставили коментар досега:„Уау, човече, ти току-що ми спаси живота. Не прекарах 2 часа за това, а 2 дни“ привлече вниманието ми.

Актуализация №1: Изглежда, че Гарет не беше не е първият за да откриете това.

Актуализация №2: Току-що опитах това и работи прекрасно за моята UTF8-съхранена-като-latin1 база данни. Просто се уверете, че сте превключили набора от знаци по подразбиране във вашата база данни на utf8 преди импортиране, или в противен случай ще получите обикновени въпросителни знаци, където са били специалните знаци. Разбира се, това може да има много други последици, така че първо тествайте като ад.

И ако имате таблици, които не са зададени по подразбиране на схемата:

(същата идея, ако имате някакви настройки за специфични за колони знаци, ще трябва да направите ALTER TABLE [таблица] ПРОМЯНА НА КОЛОНА [настройки] без да посочва CHARACTER SET, така че да се върне към таблицата по подразбиране)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между UNIX_TIMESTAMP и NOW() в MySQL

  2. Как да стартирам MySQL команда на bash?

  3. MySQL не вмъква обратна наклонена черта

  4. Грешка при инсталиране на mysql-python:Не мога да отворя включения файл 'config-win.h'

  5. Използване на utf8mb4 в MySQL