your_platform
your_platform copied to clipboard
MySQL Database with UTF-8 Encoding
Problem
With our mysql database, which uses a utf8 encoding, utf characters like "🍕" cannot be stored.
# database.yml
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: ...
pool: 5
username: ...
password: ...
host: localhost
Related issues
- https://trello.com/c/L29imOT9/1013-e-mails-utf-8-pizza-🍕
Resources
- https://www.freshworks.com/company/supporting-utf8-characters-in-a-utf8-mysql-table-blog/
- https://adamhooper.medium.com/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
- https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
More resources from https://trello.com/c/L29imOT9/1013-e-mails-utf-8-pizza-🍕:
- https://caduribeiro.medium.com/accepting-emojis-on-a-rails-app-with-mysql-e2734f232de0
- https://github.com/rails/rails/issues/33596
- https://github.com/magec/utf8mb4rails
- https://gist.github.com/amuntasim/f3b12f20a30e9a9f3fb0#file-change_mysql_character_set_and_collation-L10
How to convert the existing database?
- https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4
- https://github.com/magec/utf8mb4rails