ullright multilanguage / third language / non-latin character set / mysql utf-8 / charset / encoding

Example for russian:

  • app.yml
    •   i18n: 
          supported_languages: [ 'de', 'en', 'ru' ]
  • html head
    • use a font supporting cyrillic characters (e.g. default fonts, google fonts)
  • html: add language switcher
    • <?php echo link_to('Russian', 'ullUser/changeCulture?culture=ru') ?>
  • Check mysql default settings (see below)
  • Convert mysql database
    • Target charset: utf8mb4
    • Target collation: utf8mb4_unicode_ci
      • utf8mb4_general_ci is a simplified set of sorting rules which takes shortcuts designed to improve speed
    • mysqldump -u root --opt --quote-names --skip-character-set my_database | replace CHARSET=latin1 CHARSET=utf8 > mysql.dump
    • mysql -u root my_database < mysql.dump

MySql

@see https://www.ullright.org/ullWiki/show/mysql-charset-issues-and-conversion

General conversion migration was added 2022-07-18:
@see lib/migration/doctrine/1658136810_convert_tables_to_utf8mb4.php