나는 모든 것이 UTF-8
(charsets, collations, ...)으로 정의 된 데이터베이스를 가지고 있습니다.
데이터베이스에서 데이터를 가져와 표시하는 PHP 페이지가 있습니다.
PHP 페이지 é
, à
같은 특수 부르는 것들은 몇 가지 어려운 텍스트를 포함 , ...HTML - MySQL 데이터베이스에서 가져온 UTF-8과 특수 문자를 HTML로 섞음
내 PHP 페이지 utf-8
에 정의 된 메타 문자 집합을 가지고있다.
나는 내 PHP 페이지가 utf-8 Unicode
로 인코딩하도록 구성되어 편집기에 기록 mysql_set_charset("utf8");
데이터베이스에서 오는
뭐든지 괜찮습니다 (드림위버 CS4는 다른 UTF-8 옵션을 없음) 부르지 만 ..
하드 특수 문자 (é, à, ù, ...)를 잘 표시 할 수 없습니다.
데이터베이스에서 오는 데이터에 strip_tags(html_entity_decode($datafromdatabase));
을 사용하면 동일한 문제가 발생합니다. 여기에는 정말 문제가 있습니다.
UTF-8을 계속 사용하면서 html로 표시되는 문자 (é, à, ...
)를 사용하지 않고도 특수 문자를 잘 표시하려면 어떻게해야합니까?
편집
하드 문자 애드혹 인코딩을 사용하여 저장되지 않은 PHP 페이지에서오고의 문제. 새 페이지를 복사하여 이전 페이지에 붙여 넣은 다음 이전 페이지에 저장했습니다. 단단한 문자에는 더 이상 문제가 없습니다.
하지만 여전히 문제가 있습니다. strip_tags(html_entity_decode($datafromdatabase));
을 사용하면 $datafromdatabase = htmlentities(strip_tags(html_entity_decode($datafromdatabase)), ENT_COMPAT, "UTF-8")
을 사용해도 문제가 해결되지 않습니다. 나는 각각 é, à, ù
의 데이터베이스에서 오는 텍스트 (# é, ...
)로 시작하는 stange 문자가 있습니다.
그래서 문자 만 사용하는 내가 사실했다
strip_tags(html_entity_decode($datafromdatabase));
에서 오는 문제에 대한? 파일과 같은 소리는 실제로 UTF-8로 저장되지 않습니다. – deceze
@deceze : 아니요, strip_tags (html_entity_decode ($ datafromdatabase)); 문은 같은 문제를 발생 시키지만 표시되는 문자는 좋지 않지만 HTML 파일과 다릅니다. – Oliver
그래서 * 모든 * 비 ASCII 문자가 엉망이 되었습니까? 왜 태그를 제거하고 데이터베이스에서 HTML 엔티티를 디코딩합니까? – deceze