2011-01-19 10 views
0

나는 utf-8 encodin이있는 페이지가 있습니다. MySQL은 utf8_general_ci로 설정됩니다. 여기서 질의이다PHP mysql 쿼리 인코딩 문제

mysql_query("SET CHARACTER SET utf8_general_ci"); 

       $query = "INSERT INTO newsbox VALUES ('null', '$zaglavie', '$nom_file_big', '$den', '$mesec', '$godina', '$zaglavie2', '$text', '$zaglavie3')"; 
       $result = mysql_query($query) or die(mysql_error()); 

키릴 입력 텍스트처럼 삽입 ?????. 무엇이 문제 일 수 있습니다.

답변

1

mysql_query ("SET ..")가 예상대로 작동하는지 확실하지 않습니다. mysql_set_charset()으로 문자셋을 설정해보십시오. 텍스트를 삽입 했습니까? 잘못된 문자 집합과 함께 CLI mysql 클라이언트를 사용하는 경우 디스플레이 출력이 잘못되었을 수도 있습니다 (mysql_fetch _ *()를 통해 검색 할 수도 있습니다).

+0

수년간 스크립트를 사용하고 있는데 처음으로 그런 문제가 생겼습니다. ( – Victor

6

내가 찾는 경향이있는 것은 많은 것들을 해결합니다.

mysql_query("SET NAMES 'utf8'"); 

쿼리를 수행하기 전에.

설명서에 mysql_set_charset을 사용하는 것이 좋지만 그 기능이 누락 된 경우가 종종 있습니다.

if(function_exists('mysql_set_charset')){ 
    mysql_set_charset('utf8', $db_con); 
}else{ 
    mysql_query("SET NAMES 'utf8'", $db_con); 
} 
+1

와우이 나를 위해 일했습니다! 내가 왜 이것을 과거에 할 필요가 없는지 아는 어떤 생각? – Allen

+0

나는 그것이 당신의 과거 환경의 설정에 달려 있다고 생각한다. 아마도 당신은 운이 좋다. –