Question marks in place of Urdu, Arabic or emoji mean MySQL stored the text in a character set that can't hold it, usually the old 3-byte utf8. The text was lost when it was saved, so it has to be typed again once the database is fixed.
How Webfaze handles it
- Webfaze creates its tables as
utf8mb4and connects withutf8mb4, which stores every language and emoji correctly. - Every time it starts, Webfaze converts any of its tables that use another character set or collation, and logs
Collation normalised:with the tables it changed.
What to do
- Restart the app so the check runs, and look for the
Collation normalisedline in the log. - Check your database version. Webfaze needs MySQL 5.7 or newer, or MariaDB 10.2 or newer. Your host's database page shows the version.
- Type the affected text again and save. New text is stored correctly from now on. Text that was saved as question marks can't be recovered from the database, but you can restore it from a backup made before the problem, if the backup shows it correctly.
- Check the site language. Under Settings → Language & time → Site language, choose Urdu or Arabic so visitor texts are translated and pages read right to left.
SQLite stores every language correctly with no settings, so this only affects MySQL and MariaDB.
Still seeing it after a restart? Post in Fixing problems with your database type and version, and the lines around Collation normalised or any error in the log.