我在MySQL数据库设置UTF8UTF8数据库 - 设置DEFAULT_CHARSET在php.ini
现在它显示
+--------------------------+----------------------------+
| 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我ñ数据库,我计划从PHP代码
有人告诉我,我可以去掉上面的代码删除
mysqli_query("SET NAMES 'utf8'");
和
mysqli_query($database,"SET NAMES 'utf8'");
,但我需要添加
mysqli_set_charset($con,"utf8");
在PHP代码中。
而是在代码中添加mysqli_set_charset($con,"utf8")
的,我可以在php.ini
设置
default_charset = "UTF-8"
?
的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'
你在混合'mysql_'和'mysqli_'函数在你的问题。他们不应该这样混合。如果是拼写错误,请解决您的问题。 – Machavity
请注意,MySQL中的标准'UTF8'是** NOT **完整的UTF8字符集。如果你想/需要保存在数据库中的完整的UTF8字符集,你需要在MySQL中使用'UTF8mb4'。 – Martin
查看https://stackoverflow.com/questions/279170/utf-8-all-the-way-through – Martin