У меня есть база данных в формате latin1, все сохраненные символы utf8 отображаются как ????
+------+---------+-------+---------+--------------------+----------+-------------------- -----+---------------------+---------------------+---------+
| id | user_id | fname | lname | designation | location | email | created_at | updated_at | country |
+------+---------+-------+---------+--------------------+----------+------------------------- +---------------------+---------------------+---------+
| 6035 | 6035 | ????? | ??????? | ???????? ????????? | | [email protected] | 2011-04-11 06:05:54 | 2011-04-10 06:13:04 | xxxxxxxxx |
+------+---------+-------+---------+--------------------+----------+-------------------------+---------------------+---------------------+---------+
Теперь я использую эту команду и меняю формат базы данных и таблицы на utf8
ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8;
ALTER DATABASE <database_name> CHARACTER SET utf8;
Я читал, что latin1 использует 1 байт для каждого символа, а utf8 использует 3 байта для каждого символа. Мой вопрос: если я изменю свою таблицу (уже содержащую много данных) с формы latin1 на utf8, какие старые символьные данные будут потреблять 3 байта или 1 байт. Если я использую изменение и преобразование данных, будут ли у меня проблемы со старыми данными? Уверен, что новые данные будут в utf8.