欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql5.5中文問號

錢多多2年前13瀏覽0評論

在MySQL 5.5及以下版本中,有時候在中文查詢時會遇到問號的問題。這個問題通常發生在在數據庫字符集為UTF-8,而應用字符集為GBK或GB2312的情況下。

例如,我們以GB2312的字符集向MySQL插入一條數據:
INSERT INTO mytable (name) VALUES ('洛杉磯');
如果數據庫字符集為UTF-8,我們再以UTF-8查詢這個數據:
SELECT * FROM mytable WHERE name='洛杉磯';
此時,MySQL就無法識別這個中文字符,于是查詢結果返回一個問號:
+----+------------+
| id | name       |
+----+------------+
|  1 | ?          |
+----+------------+

那么如何解決這個問題呢?

第一種解決方案是將應用字符集改成UTF-8,這樣就不會出現亂碼了。

第二種解決方案是在連接MySQL時設置連接字符集。如果使用的是PHP連接MySQL,可以在mysqli_connect函數中使用如下代碼來設置連接字符集:

$link = mysqli_connect($host, $user, $password, $database);
mysqli_set_charset($link, "utf8");

其他編程語言也都有類似的設置字符集的方法。

第三種解決方案是在MySQL中設置字符集,具體如下:

1. 打開my.cnf文件(Ubuntu上默認位置是/etc/mysql/my.cnf,CentOS上默認位置是/etc/my.cnf)
2. 找到[mysqld]下的字符集設置,并將其設置為UTF-8:
[mysqld]
character_set_server=utf8
3. 重啟MySQL服務,使設置生效。
這樣,以任意字符集查詢MySQL中的中文數據時,就不會再出現問號亂碼了。