我在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