2014-03-04 128 views
1

我將在MySQL表中的數據,在此之前,我是逃出序列變量轉義特殊字符

$data = mysqli_real_escape_string($con,$data); 

每一件事工作正常,但是當我得到這樣

$data = " SHR′ n(X′) "; 

數據它的轉義數據是這樣的

SHR′ n(X′) 

這是不插入數據庫,並給出錯誤,所以我的問題是我怎麼可以讓它逃避這種角色。

注:我創建了一個表格,其中utf8_general_ci作爲整理。

感謝

回答

1

試試這個

建立連接使用

mysqli_set_charset ($con, "utf8"); 
+0

謝謝,但其在插入沒有幫助,仍然有一些隨機字符s的逃逸 – Afsar

1

嘗試set the charset to utf8後。

$mysqli = new mysqli("localhost", "my_user", "my_password", "test"); 
/* change character set to utf8 */ 
if (!$mysqli->set_charset("utf8")) { 
    printf("Error loading character set utf8: %s\n", $mysqli->error); 
} else { 
    printf("Current character set: %s\n", $mysqli->character_set_name()); 
} 
+0

感謝後到來,但問題仍然存在同樣在這裏 – Afsar

+0

哪裏從'$值data'從何而來?它在你的PHP文件或一個HTML表單或其他東西?源代碼也是utf8嗎?你沒有bom保存你的php文件爲utf8嗎? – tjati

+0

數據來自excel表單並且該表單以UTF8_encoded格式保存 – Afsar