Я установил utf8 в базе данных MySQL
теперь это показывает
+--------------------------+----------------------------+
| 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 | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
У меня есть ниже в коде PHP
mysqli_query("SET NAMES 'utf8'");
а также
$con = mysqli_connect('host','user','pass','database');
mysqli_query($con,"SET NAMES 'utf8'");
Так как я установил utf8 в базе данных, я планирую удалить
mysqli_query("SET NAMES 'utf8'");
а также
mysqli_query($database,"SET NAMES 'utf8'");
из кода PHP
Мне сказали, что я могу удалить приведенный выше код, но мне нужно добавить
mysqli_set_charset($con,"utf8");
в коде PHP.
Вместо добавления mysqli_set_charset($con,"utf8")
в коде я могу установить
default_charset = "UTF-8"
в php.ini
?
my.cnf это
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
Вместо добавления
mysqli_set_charset($con,"utf8")
в коде я могу установить
default_charset = "UTF-8"
в php.ini?
Нет, это не влияет на набор символов подключения к базе данных.
И даже Настройки расширения MySQL ничего не предлагать в этом отношении — и никто те для MySQLi.
Это является настройка для каждого соединения в конце концов.
Но если вы поместите свой код для установления соединения с базой данных в один файл, который вы включаете, где бы он ни был необходим, этого должно быть достаточно.
Вопрос касается MySQL, поэтому настройка конфигурации в php.ini не сильно поможет в этом случае. Я предлагаю обновить файл my.cnf в MySQL
больше о настройках my.cnf можно найти Вот
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
default-character-set=utf8
default-collation=utf8_unicode_ci
character-set-client = utf8
я взял вышеупомянутую часть из этого нить, который обсуждает ту же проблему, но для PHP и MySQL.
Надеюсь это поможет!