2016-06-11 97 views
1

嗨,大家好!mysql西里爾文疑難解答

所以,我有一個問題:我有一些西里爾文的數據。這裏的問題是: 不正確的字符串值:'\xD0\xBD\xD0\xBE\xD0\xB2...'列「標題」在第1行中

這裏是我的代碼:

$link = mysql_connect('localhost', 'root', 'pass'); 
if($link&&isset($_POST['addSticker'])){ 
    $title = $_POST['title']; 
    $description = $_POST['description']; 
    $photo = mysql_real_escape_string(urlencode($_POST['photo'])); 
    $quantity = $_POST['quantity']; 
    $price = $_POST['price']; 
    mysql_select_db('db_name'); 
    $sql = "INSERT INTO table (title, description, photo, quantity, price) VALUES ('$title', '$description', '$photo', '$quantity', '$price');"; 
    mysql_query("SET NAMES utf8", $link); 
    mysql_query($sql, $link) or die(mysql_error()); 
} 

感謝您的幫助。

+0

請編輯您的文章並將代碼格式化爲代碼,方法是選擇它(使用鼠標)並按下CTRL-K。目前格式化的方式很難閱讀。 – PerlDuck

+0

對不起,我對這個網站是全新的。 – Sasha

+0

沒問題。我們都曾經。感謝您的編輯。順便說一句:還有在俄羅斯的http://over.stackoverflow.com/ Stackoverflow(以防萬一你不知道)。 – PerlDuck

回答

1

首先,您的查詢容易受到SQL注入的影響。建議使用escape your characters(MySQLi)。這甚至可以解決你的問題。第二件事是你仍然在使用不贊成使用的mysql API。相反,你應該切換到PDO或mysqli API。如果排序不正確(轉義輸入不起作用),您還可以將MySQL排序規則更改爲these之一,以便數據庫可以理解這些字符。

+0

@Sergio Tulentsev感謝您的編輯。沒有注意到。 –