2016-06-11 4 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

문제는 없습니다. 우리 모두는 한때였습니다. 편집 해 주셔서 감사합니다. Btw : 러시아어 http://ru.stackoverflow.com/ Stackoverflow도 있습니다 (모르는 경우에 한함). – PerlDuck

답변

1

우선 SQL 인젝션에 대한 조회가 가능합니다. escape your characters (MySQLi)에게 권장됩니다. 이것은 심지어 당신의 문제를 해결할 수도 있습니다. 두 번째로 여전히 사용되지 않는 mysql API를 사용하고있다. 대신 PDO 또는 mysqli API로 전환해야한다. 잘못된 데이터 정렬 (이스케이프 입력이 도움이되지 않음)이있는 경우 데이터베이스에서 이러한 문자를 인식 할 수 있도록 these 중 하나로 MySQL 데이터 정렬을 변경할 수도 있습니다.

+0

@Sergio Tulentsev 편집 해 주셔서 감사합니다. 알지 못 했어. –