2013-06-16 1 views
1

PHP의 히브리어 문자가 들어있는 레코드를 MySQL 테이블에 삽입하려고합니다.UTF-8 문자가 PHP의 MySQL 테이블에 삽입되지 않았습니다.

스키마와 테이블은 모두 MySQL에서 utf8 문자 세트로 설정됩니다. 웹 사이트는 charset = UTF8로 설정됩니다.

웹 페이지에서 쿼리를 표시하면 히브리어가 올바르게 렌더링됩니다.

그러나 일단 MySQL 테이블에 삽입되면 히브리어 문자가 오히려 기브 림이 아닌 올바르게 저장됩니다. 예 :

×בו סנ×ן 

쿼리 문자열에 utf8_encode 및 mb_convert_encoding을 적용하려했으나 사용하지 못했습니다.

무엇이 누락 되었습니까? 감사합니다.

+0

'SET 명칭 'UTF8'; 아무것도 당신, 당신이 할 수있는 base64로 인코딩 작동하지 않는 경우, 내가 인코딩 문제를 싫어' –

+0

을 문자열 (값을 저장하기 위해 비교할 필요가없는 경우) – luk2302

+0

문제에 대한 포괄적 인 개요는 [UTF-8까지 완료] (http://stackoverflow.com/q/279170)를 참조하십시오. –

답변

0

아마 시도 : 문자열이 제대로 데이터베이스에 삽입하기 전에 인코딩 된 경우

$q = mysql_set_charset('utf8'); 
    var_dump($q); 

var_dump 당신을 말할 것이다. 그렇다면 문제는 데이터베이스에 있으며, 그렇지 않은 경우 문제는 다른 곳에 있습니다.

0

당신은 mysqli이 set_charset("utf8"); 직접

new mysqli() 후 예하려고 사용하는 경우 :

$db = new mysqli($config['database']['host'], $config['database']['user'], $config['database']['password'], $config['database']['dbname']); 
$db->set_charset("utf8"); 
관련 문제