我在將具有特殊字符的單詞插入到我的數據庫時遇到問題。這個詞似乎在特殊字符處被截斷。正在截斷PHP/Mysql特殊字符插入
我使用MySQL 5.1.41,我的數據庫的排序規則是utf8_general_ci。我正在使用PDO來促進數據庫交互。
這是我正在做的一個例子。
//$db is a PDO object
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
//word with a special character
$word = "pépite";
$sql = "INSERT INTO keyword(key_name) VALUES(?)";
$stmt = $db->prepare($sql);
$stmt->execute(array($word));
當這個執行我只是得到「P」在我的數據庫,它似乎字符E,一切都將被截斷之後。我不確定我在這裏做錯了什麼。如果有人可以建議我做錯了,那將非常感激。謝謝!
你可能使用'mysqli'客戶端而不是'mysql'嗎? – Treffynnon 2012-02-23 12:51:33
每次只是在一個角色上剪掉它,還是將所有內容都存儲到特殊字符中? – MetalFrog 2012-02-23 12:51:59
什麼是你的表格結構? – MMM 2012-02-23 12:54:45