Skip to content

Instantly share code, notes, and snippets.

@jkullick
Last active December 29, 2016 13:34
Show Gist options
  • Save jkullick/fdcc682d58fd2d9aef4db97d2c267c0b to your computer and use it in GitHub Desktop.
Save jkullick/fdcc682d58fd2d9aef4db97d2c267c0b to your computer and use it in GitHub Desktop.
Change MySQL Database Charset from Latin1 to UTF8

Method 1:

mysqldump -u$USER -p$PASSWORD -c -e --default-character-set=utf8 --single-transaction --skip-set-charset --add-drop-database -B $DATABASE | \
  sed -e 's/DEFAULT CHARACTER SET latin1/DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci/' -e 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/' | \
  mysql -u$USER -p$PASSOWRD

Method 2:

  1. Generate SQL statements
SELECT CONCAT('ALTER TABLE `', tbl.`TABLE_SCHEMA`, '`.`', tbl.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') FROM `information_schema`.`TABLES` tbl WHERE tbl.`TABLE_SCHEMA` = '$DATABASE'
  1. Query generated SQL statements

Source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment