2009-09-02 9 views
1

현재 내 응용 프로그램에서 utf8로 인코딩 된 데이터는 PHP의 내부 코딩에 의해 손상됩니다.PHP에서 내부 처리 인코딩을 UTF8로 변경하는 방법은 무엇입니까?

utf8과 일관되게 만드는 방법은 무엇입니까?

EDIT : 예제를 보려면 PHP에서 현재 내부 인코딩을 출력하는 방법을 알려주시겠습니까?

default_charset = "iso-8859-1" 

라틴어를 의미

는 php.ini 파일에서 나는 다음과 같은 발견했다.

utf8로 변경하는 방법, 말하자면 utf8의 iso 버전은 무엇입니까? 에

+0

정교하게 작성하고 몇 가지 예를 보여줄 수 있습니까? – rogeriopvl

답변

4

변경을 = "UTF-8"

default_charset

는 UTF-8의 어떤 ISO 버전이 없습니다.

PHP 응용 프로그램의 여러 영역에서 인코딩이 엉망이 될 수 있으므로 자세한 내용을 구체적으로 설명해야합니다. 일반적인 문제 영역은 다음과 같습니다

저장 및 검색 DB에서 : 데이터베이스 인코딩은 PHP에서 전송 문자열과 동일, 또는 당신은 DB 인코딩으로 문자열을 변환해야한다.

PHP4의 단일 바이트 문자열 함수 : 그들은 단일 바이트에서 작동하기 때문에 같은 나 strlen() 않는 str_replace (같은 PHP의 기능), UTF-8 등의 멀티 바이트 인코딩의 올바른 결과를 생성하지 않습니다.

페이지 인코딩 : 확실 브라우저가 당신이 그것을 UTF-8을 보내는 알고합니다.

+0

utf-8은 iso-10646-1과 동일하지 않습니까? "PHP4의 단일 바이트 문자열 함수"의 경우 모든 문자열 함수를 mb_ 함수로 바꾸는 것을 의미합니까? – omg

+0

iso-10646-1, 그건 몰랐습니다. 나는 iso-10646-1에 대한 설정을하지 않을 것이다. 예, PHP4 용 mb_functions를 사용하십시오. PHP5는 UTF-8을 기본적으로 지원합니다. – bucabay

+0

PHP4 참고 : http://www.phpwact.org/php/i18n/utf-8 – bucabay

0

PHP는 문자 인코딩을 변경할 수 있습니다. PHP 페이지에서 인코딩을 변경하려면 다음 기능을 사용하십시오.

$new_value = htmlentities('$old_value',ENT_COMPAT, "UTF-8"); 

또한 당신이 html로 머리 부분

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

에 다음을 추가 할 수 있습니다 나는이 문제를 해결하는 데 도움이되기를 바랍니다.

관련 문제