0

I have an issue with the character set for my MySQL database. I am trying to support all languages so I have set the collation to utf8_general_ci and the character set variables to utf8.

enter image description here

enter image description here

The columns of the tables (and the tables themselves) are also set to utf8... enter image description here

This seems to work fine on my local database...

enter image description here

...but not on the live database...

enter image description here

The live database is hosted on AWS RDS and I have set the character set and collation parameters to utf8/utf8_general_ci as above and rebooted.

This is both an issue in Workbench as well as when the data is queried from code. The value has not been saved properly to the database like it has been locally.

Is there something I'm missing?

Andy Furniss
  • 3,814
  • 6
  • 31
  • 56

1 Answers1

0

Something is set up differently. See "best practice" and "question mark" in Trouble with UTF-8 characters; what I see is not what I stored

If you need "all" languages, you should use CHARACTER SET utf8mb4 so that you can handle the 4-byte characters in Chinese.

Rick James
  • 135,179
  • 13
  • 127
  • 222
  • I have changed tried changing everything to utf8mb4 as the link suggests and restarted my AWS RDS MySQL instance. I have also changed the table and columns to utf8mb4. For some reason, some variables have updated but some haven't. Those that haven't (and are still utf8/utf8_general_ci) are `collation_connection`, `character_set_client`, `character_set_connection`, `character_set_results` and `character_set_system`. These settings don't seem to want to change. – Andy Furniss Jun 20 '18 at 15:35
  • Same problem as this: https://stackoverflow.com/questions/30522939/aws-rds-parameter-group-not-changing-mysql-encoding – Andy Furniss Jun 20 '18 at 15:55
  • If necessary, execute `SET NAMES utf8mb4` from the app. – Rick James Jun 20 '18 at 19:13