0

我在PHP/MySQL中遇到了一些特殊字符問題(我不知道是哪一個)。 然後,我使用php將數據存儲在數據庫中。PHP/MySQL中字符集問題

header('Content-type:text/html; charset=utf-8'); 
    $link=mysqli_connect("host","user","","db") or die(mysqli_error($link)); 
    mysqli_query($link,"SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8';SET NAMES utf8"); 

我還確保Apache使用正確的字符集:

AddDefaultCharset utf-8 

另外我也試圖每個HTML頁面上添加了meta標籤:

我將數據存儲到添加此代碼之前保證
<meta http-equiv="content-type" content="text/html" charset="UTF-8"> 

此外,我將所有phphtml文件保存爲UTF-8格式。 我注意到,如果我在頁面中寫入像ò這樣的字符並顯示該頁面,它將被正確顯示。如果我得到含有ò數據庫的查詢字符串,它不能正常顯示,但如果我的代碼更改爲:

header('Content-type:text/html; charset=iso-8859-1'); 

從數據庫中檢索查詢顯示正常,正常的寫作不是。 所以,問題是在MySQL的字符集?如果我按照之前的說明設置它,怎麼會這樣呢?

回答

1

試着改變你的存儲這個日期的列到utf8也

這裏你可以使用一些代碼。

變化的字符集/覈對(database):

ALTER DATABASE DB_NAME默認字符集UTF8;

變化的字符集/覈對(table):

ALTER TABLE tbl_name默認字符集UTF8;

變化的字符集/覈對(columns):

ALTER TABLE tbl_name轉換爲字符SET UTF8;

+0

我試過這些說明,現在可以使用。謝謝echo_Me – sleax

+0

你歡迎:)。 –