>백엔드 개발 >PHP 튜토리얼 >Windows Phone 8 애플리케이션 PHP의 다양한 애플리케이션의 잘못된 문제에 대한 솔루션

Windows Phone 8 애플리케이션 PHP의 다양한 애플리케이션의 잘못된 문제에 대한 솔루션

WBOY
WBOY원래의
2016-07-29 08:42:34962검색

1) 태그를 사용하여 페이지 인코딩
을 설정합니다. 이 태그의 목적은 클라이언트 브라우저가 페이지를 표시하기 위해 사용하는 문자 세트 인코딩이 GB2312, GBK, UTF-8일 수 있음을 선언하는 것입니다(MySQL과 다름). 이는 UTF8) 등입니다. 따라서 대부분의 페이지에서는 이 방법을 사용하여 이 페이지를 표시할 때 사용할 인코딩을 브라우저에 알려 인코딩 오류와 문자 깨짐을 방지할 수 있습니다. 그러나 때때로 우리는 이 문장이 여전히 작동하지 않는다는 것을 알게 될 것입니다. xxx가 무엇이든 브라우저는 항상 동일한 인코딩을 사용합니다. 이에 대해서는 나중에 설명하겠습니다.
HTML 정보에 속하며 단지 서버가 HTML 정보를 브라우저에 전달했음을 나타내는 구문일 뿐이라는 점에 유의하시기 바랍니다.
2) header("content-type:text/html; charset=xxx");
header() 함수의 기능은 괄호 안의 정보를 http 헤더로 보내는 것입니다. 괄호 안의 내용이 기사에서 언급한 내용이라면 기본적으로 라벨과 기능이 동일하다는 것을 첫 번째와 비교해보면 문자가 유사한 것을 알 수 있습니다. 하지만 차이점은 이 기능이 있으면 브라우저는 항상 요청한 xxx 인코딩을 사용하고 절대 불순종하지 않으므로 이 기능은 매우 유용합니다. 왜 이런 일이 발생하는 걸까요? 그러면 http 헤더와 HTML 정보의 차이점에 대해 이야기해야 합니다.
http 헤더는 http 프로토콜을 사용하여 브라우저에 HTML 정보를 보내기 전에 서버에서 보내는 문자열입니다. 태그는 HTML 정보에 속하므로 header()가 보낸 내용이 브라우저에 먼저 도달합니다. 인기 있는 점은 header()가 더 높은 우선순위를 갖는다는 것입니다(이렇게 말할 수 있을지 모르겠습니다). PHP 페이지에 헤더("content-type:text/html;charset=xxx")와 헤더("content-type:text/html;charset=xxx")가 모두 있는 경우 브라우저는 이전 http 헤더만 인식하고 메타가 아닙니다. 물론 이 기능은 PHP 페이지 내에서만 사용할 수 있습니다.
또한 전자는 확실히 작동하지만 후자는 때때로 작동하지 않는 이유는 무엇입니까? 이것이 다음으로 Apache에 대해 이야기하려는 이유입니다.
3) AddDefaultCharset
Apache 루트 디렉터리의 conf 폴더에는 전체 Apache 구성 문서 httpd.conf가 있습니다.
텍스트 편집기로 httpd.conf를 엽니다. 708행(버전에 따라 다를 수 있음)에는 AddDefaultCharset xxx가 포함되어 있습니다. 여기서 xxx는 인코딩 이름입니다. 이 코드 줄의 의미: 전체 서버에 있는 웹 페이지 파일의 http 헤더에 있는 문자 집합을 기본 xxx 문자 집합으로 설정합니다. 이 줄을 갖는 것은 각 파일에 헤더("content-type: text/html; charset=xxx") 줄을 추가하는 것과 같습니다. 이제 브라우저가 utf-8로 설정되어 있음에도 불구하고 항상 gb2312를 사용하는 이유를 이해할 수 있습니다.
웹 페이지에 헤더("content-type:text/html; charset=xxx")가 있는 경우 기본 문자 집합이 사용자가 설정한 문자 집합으로 변경되므로 이 기능은 항상 유용하게 사용됩니다. AddDefaultCharset xxx 앞에 "#"을 추가하고 이 문장을 주석 처리했는데 페이지에 헤더("content-type...")가 없으면 이제 메타 태그가 적용될 차례입니다.
위 항목의 우선순위는 다음과 같습니다.
.. header("content-type:text/html; charset=xxx")
.. AddDefaultCharset xxx
..
인 경우 웹 프로그래머라면 각 페이지에 헤더("content-type: text/html; charset=xxx")를 추가하여 모든 서버에서 올바르게 표시되고 강력한 이식성을 갖도록 하는 것이 좋습니다. .
4) php.ini의 default_charset 구성:
php.ini의 default_charset = "gb2312"는 php의 기본 언어 문자 집합을 정의합니다. 일반적으로 이 줄을 주석 처리하고 필수 요구 사항을 만드는 대신 웹 페이지 헤더의 문자 집합을 기반으로 브라우저가 자동으로 언어를 선택하도록 하여 동일한 서버에서 여러 언어의 웹 서비스를 제공할 수 있도록 하는 것이 좋습니다.
PHP에서 한자 깨짐 문제를 해결하기 위한 mb_substr 함수 적용
mysql 한자 깨짐 해결 방법 모음

위 내용은 Windows Phone 8 응용 프로그램의 내용을 포함하여 Windows Phone 8 PHP 응용 프로그램의 다양한 응용 프로그램의 왜곡된 문제에 대한 솔루션을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.