Я импортирую данные извне в свою базу данных MYSQL с помощью PHP-скриптов.Кодируя кодировку моей базы данных в utf8 из запроса
ALTER DATABASE DEFAULT CHARSET 'utf8';
, затем я выполнил запрос, чтобы просмотреть все кодировки по
SHOW VARIABLES LIKE 'character_set%';
:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
какмы можем видеть, что character_set_database
установлен на utf8
, но все же, если я напишу код из моего PHP-скрипта, чтобы увидеть кодировку как
echo $charset = mysql_client_encoding($cn);
, вывод будет latin1
.Из приведенного выше запроса latin1 только для сервера.Может кто-нибудь сказать мне, что именно мне не хватает, так как я не могу кодировать символы китайского и японского в базу данных.
РЕДАКТИРОВАТЬ
Я импортирую базу данных извне, котораяиметь символы Юникода, такие как 我 的 上网 主页 и 嶏 紞 鎴 戠 Chinese на китайском, японском и других языках.Но когда я импортирую данные в таблицы базы данных, я получаю ?????вместо вышеперечисленных персонажей.Как я могу кодировать эти символы?Это utf-8 или 16 и как я могу узнать, какая кодировка будет поддерживать эти символы?