2010-10-06 39 views
0

我已將我的數據庫從拉丁文1轉換爲UTF8,並且使用phpPMyAdmin可以輸入數據並正確顯示。然而,在我用PHP開發的頁面中查看並使用我的簡單CMS進行編輯可以保存必須錯誤編碼的字符。LAMP UTF-8將錯誤地保存到MySQL數據庫

我花了幾個小時研究,最終想出了這個代碼片段:

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn_products);

,當一個DB操作之前放在糾正問題 - 了不起!

我已經做了一些進一步的研究,並且(我相信)發現了一種使整個MySQL服務器永久存在的方法,但是我希望永久性地改變它作爲使用服務器的大多數站點的數據庫是拉丁語1,需要保持這種方式。

請問有人可以指點我正確的方向嗎?

回答

2

不幸的是,如果客戶端沒有聲明任何內容,它可能不是由客戶端應用程序或服務器設置的。你只需要在每次會話中設置一次,所以只要教你自己讓一個總是跟隨mysql_select_db()這可能是mysql_query('SET NAMES utf8;')(或任何你需要的字符集)應該做的伎倆。