2013-03-24 3 views
0

최근 데이터베이스에 물건을 추가하는 스크립트를 만들었습니다. 그러나 삽입 된 텍스트는 체코 어입니다. 지금까지 나는 영어 입력을 기대하지 않는 것을 만들지 않았습니다. 그래서 저는 인코딩에 익숙합니다.체코 어 인코딩 문제

체코 어에는 다음과 같은 특수 문자가 있습니다. ěščřžýáíéúů. 나는 그들이,, ú,,, č를 제외하고 모두 일한다고 말하고 싶다. 단지 로 변환된다. 어떻게 해결할 수 있을까요?

현재 htmlentities($text, ENT_QUOTES,'UTF-8')을 처리하고 있으며 html_entity_decode($text)으로 코드를 제거합니다.

데이터베이스가 utf8_czech_ci 인코딩을 사용 중입니다.

도움 주셔서 감사합니다.

EDIT : 전체 htmlentities 부분을 제거하면 동일한 결과가 표시되지만 일부 문자 대신 ?이 표시됩니다.

+0

실제로 [UTF-8 어디에서나] (http://www.utf8everywhere.org/)를 사용하고 있는지 확인하십시오. –

+1

잘못 삽입 했습니까? utf-8을 뷰 레코드에 사용하지 않았을 수 있습니다. – Voitcus

+0

삽입되기 직전에 var_dump를 수행했습니다. 그 시점에서 그들은 여전히 ​​정확합니다. 즉, 데이터베이스가 잘못 인코딩 한 것입니다. 그러나 나는 그것을 할 수있는 곳이나 이유를 알 수 없다. 감사합니다. –

답변

0

테이블 전체가 여전히 데이터베이스와 다른 인코딩을 사용하고있는 것이 문제였습니다. 또 다른 해결 방법은 SET NAMES 'utf8'을 사용하여 MySQL에 UTF-8을 사용하고 있음을 알려주는 것입니다.