내 페이지 인코딩을 utf8
으로 설정하고 메타 태그에 utf8
으로 설정했습니다.PDO 및 특수 문자
그러나 데이터베이스에서 가치를 얻는 대신 물음표가있는 다이아몬드를 넣고 있습니다. 메신저는 문자를 알지 못한다고 가정합니다.
문자는 é입니다. 내가 에코를한다면 é
; 페이지에 정상적으로 표시됩니다. 또한 내가 수동으로 html로 작성하는 경우. 그러나 PDO를 사용하여 데이터베이스 호출에서 동일한 값을 얻을 때
나는 PDO 설정을 가정합니다. 나는 시도했다 :
$db->exec("SET NAMES 'utf8';");
그러나 이것은 그것을 해결하지 못한다.
제안 사항?
테이블 자체의 charset은 무엇입니까? 전체 렌더링 파이프 라인은 동일한 문자 집합이거나 최소한 적절한 변환 논리로 연결되어야합니다. 예 : 브라우저 -> 서버 -> PHP -> 데이터베이스 -> 테이블 -> 데이터베이스 -> PHP -> 서버 -> 브라우저 –
"심지어 메타 태그"는 브라우저보다 아무것도 의미하지 않습니다. –
PHP 5.3.6 이상인 경우, '; charset = utf8'와 같이 dsn 문자열 (PDO 생성자의 첫 번째 인수)에 문자 집합을 설정해야합니다. – jeroen