your_platform icon indicating copy to clipboard operation
your_platform copied to clipboard

MySQL Database with UTF-8 Encoding

Open fiedl opened this issue 4 years ago • 2 comments

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/

fiedl avatar Jul 17 '21 20:07 fiedl

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

fiedl avatar Jul 17 '21 20:07 fiedl

How to convert the existing database?

  • https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4
  • https://github.com/magec/utf8mb4rails

fiedl avatar Jul 17 '21 20:07 fiedl