伺服器資料庫編碼格式問題

2022-04-01 20:54:46 字數 765 閱讀 7099

最近做專案在部署到阿里雲伺服器上之後出現了兩個問題:(李昌輝)

1、亂碼問題。

2、ajax的php處理頁面裡面利用json_encode()函式返回json資料,則資料庫返回的資料只能是utf8,如果是gbk則json也無法返回。

發現是資料庫編碼格式問題,**使用的編碼格式為utf8,資料庫的編碼格式調為了utf8,但是character_set_server的值還是gbk。

檢視資料庫編碼:

在mysql命令列裡面輸入:show variables like 'character%';

所以還是有亂碼存在。

於是從網上找了解決方法:

在mysql命令列輸入:set character_set_server=utf8;

ok修改成功!返回資料也正常,但是當關閉資料庫服務,重新啟動,發現set character_set_server又變回了gbk。

所以這個方法只能暫時性的解決。

最終找到了乙個能用的不是特別好的解決方法是在執行sql語句之前,先執行該sql語句即可:

$conn->query('set character_set_client = utf8;');

$conn->query('set character_set_results = utf8;');

$conn->query('set character_set_connection = utf8;');

這種解決方法個人感覺不是很好,每次執行的次數太多,如果能修改伺服器資料庫的編碼格式最好。

伺服器資料庫編碼格式問題解決方案

伺服器資料庫編碼格式問題 最近做專案在部署到阿里雲伺服器上之後出現了兩個問題 1 亂碼問題。2 ajax的php處理頁面裡面利用j程式設計客棧son encode 函式返回json資料,則資料庫返回的資料只能是utf8,如果是gbk則json也無法返回。發現是資料庫編碼格式問題,使用的編碼格式為ut...

伺服器資料庫優化

最近玩家 性增長,使得原來設計的ws和資料庫那塊承受了更大的壓力,開始有點受不住了,於是理所當然的優化開始了。這裡說幾個資料庫優化的建議和方法 在資料庫優化工作中,使資料盡可能的小,使表在硬碟 上佔據的空間盡可能的小,這是最常用 也是最有效的手段之一。因為縮小資料,相對來說可以提高硬碟 的讀寫速度,...

資料庫伺服器優化

1.為查詢優化你的查詢 2.explain 你的 select 查詢 3.當只要一行資料時使用 limit 1 4.為搜尋欄位建索引 5.千萬不要 order by rand 6.避免 select 7.永遠為兩張表設定乙個 id 8.盡可能的使用 not null 9.把 ip 位址存成 unsi...