Dumping and importing from/to MySQL in an UTF-8 safe way
In a nutshell: to avoid your shell character set from messing with imports, use
-r to export and
SOURCE when importing.
# Do not do this, since it might screw up encoding mysqldump -uroot -p database > utf8.dump # this is bad
mysqldump -uroot -p database -r utf8.dump
Note that when your MySQL server is not set to UTF-8 you need to do
mysqldump --default-character-set=latin1 (!) to get a correctly encoded dump. In that case you will also need to remove the
SET NAMES='latin1' comment at the top of the dump, so the target machine won't change its UTF-8 charset when sourcing.
If you only want to dump the structure without data, use
mysqldump -uroot -p --no-data database -r utf8.dump
# Do not do this, since it might screw up encoding mysql -u username -p database < dump_file # this is bad
mysql -uroot -p --default-character-set=utf8mb4 database mysql> SET names 'utf8' mysql> SOURCE utf8.dump
Flaky tests are tests that sometimes fail for no obvious reason. They are the plague of many end-to-end (E2E) test suites that automate the browser through tools like Capybara and Selenium.
Join our free training event and learn to fix any flaky test suite, even in large legacy applications.