Understanding UTF8 – PHP Standard and Practices Part 7

인터넷상의 대부분의 텍스트는 특정 종류의 문자 집합에서 찾을 수있는 특수 비트 모음입니다 요즘 문자 집합은 유니 코드 전송 형식을 나타내는 utf-8 일 것입니다 a는 조금 다른 방식으로 물건을 저장하는 다른 유형의 UTF 문자 세트와 구별하는 것입니다 지난 10 년 동안 Utf-8은 가장 인기있는 문자 인코딩으로 다른 문자 세트에서 이어 받아 거의 모든 것에 적합 할 수 있습니다

텍스트로 삽입하려는 문자 utf-8은 국제 문자 기호 및 이모티콘과 같은 모든 유니 코드 문자를 처리 할 수 ​​있습니다 멋진 지원 여부 이모티콘은 Zed 범위를 벗어난 기본 문자 외의 다른 문자를 지원하지 않는 사용자에게 중요합니다 응용 프로그램이 미국이나 영국과 같은 어딘가에서 실행 되더라도 많은 사람들이 이름에 특수 문자가 있으며 악센트 부호가있는 문자 및 키릴 문자와 같은 것을 지원하려면 utf-8이 필요합니다 PHP는 utf-8 컨텐츠와 함께 작동하며 더 쉽게 사용할 수있는 더 많은 기능을 제공합니다 그러나 그 기능의 상당 부분은 MB가 아닌 기본 확장자로 숨겨져 있습니다

우리가 MB 문자열로 작업하기 전에 문자열 사용하도록 설정해야합니다 인덱스 도트 PHP를 열어 보겠습니다에 3 행 우리는 핵심 함수 인 PHP info를 호출합니다이 함수는 설치 및 사용 가능에 대한 정보를 포함하여 모든 종류의 유용한 정보를 화면에 출력합니다 모듈들 exit 문에 대해 온라인 상태로 스크립트의 전체 실행에 사용되고 있으며이 코드의 나머지 부분은 실행되지 않습니다 우리는 잠깐 후에 그것을 얻을 것입니다 눈 아이콘을 클릭하여 스크립트를 미리보고 PHP 정보가 우리에게 보여주는 것을 보자

브라우저에서 찾기 기능을 사용하는 경우 NB 문자열을 입력 할 수 있습니다 이 첫번째 부분은 아닙니다 이것은 우리가 여기에서보고 싶은 것입니다 MB 문자열 섹션이 누락되었거나 사용 중지 된 경우 사용하도록 설정해야하지만 다행스럽게도 우리에게 적합합니다

작업 공간에서 항상 활성화됩니다 작업 영역으로 돌아가서 3 ~ 4 행을 제거하고이 코드의 나머지 부분을 Line 6 우리는 MB internal encoding이라는 함수를 호출합니다 우리는 우리의 인코딩의 이름을 가진 문자열 인수를 전달합니다이 경우 인코딩은 utf-8입니다

이렇게하면 MB 문자열 확장자에서 어떤 문자 인코딩을 알 수 있습니다 7 호선에서 작업하고 싶습니다 MB라는 함수를 호출합니다 HTT 출력 및 다시 한 번 utf-8을 포함하는 인수로 문자열을 전달합니다이 작은 MB 문자열은 HTML이 utf-8로 출력된다는 것을 알고 있습니다

이 두 줄은 지나친 것처럼 보일 수 있습니다 하지만 utf-8 행 9로 작업 할 때 string에 대한 문자열 변수 인 경우에 편리합니다 ASCII로 존재하지 않지만 여기 11 행의 utf-8에 존재하는 악센트 부호가있는 문자로 가득합니다 헤더 함수를 사용하여 HTTP 헤더를 수동으로 설정합니다 헤더는 이름과 값으로 콜론과 이 경우 콘텐츠 유형을 텍스트 HTML로 설정합니다

어쨌든 그것은 기본 헤더입니다 그러나 여기에 커서 utf-8을 설정하여 추가 속성을 추가하고 있습니다 우리는 HTML을 따르는 브라우저를 브라우저에 알려주고 있습니다 이것은 utf-8이 될 것입니다 – 마지막으로 제목과 본문이있는 기본 HTML 페이지를 출력합니다 여기에는 두 개의 단락이 포함되어 있습니다

첫 번째 단락은 문자열의 대문자 버전을 출력하고 두 번째 단락은 문자열의 길이를 출력합니다 브라우저를 새로 고침하고 새로 고침 할 때 어떤 일이 일어나는지 보도록하겠습니다 이제이 결과는 PHP가 문자열을 대문자로 만들려고 최선을 다하고있는 약간 재미 있습니다 그러나 유니 코드가 아닌 문자의 경우 만 변경할 수 있습니다 이 문자열의 길이를 물어 보면 유니 코드 문자는 PHP를 혼란스럽게 만들 것이고 실제 문자열보다 더 긴 문자열로 생각할 것입니다 실제로이 문자열은 PHP가 생각하는 인간의 36 문자 길이입니다

우리는 mb 확장 함수를 사용하여 이것을 아주 쉽게 고칠 수있다 여기서해야 할 일은 앞에 mb를 추가하는 것뿐입니다 그리고 거기에 우리가 간다 지금 정확하게 36 문자이고 모든 문자가 ASCII 문자뿐만 아니라 대문자입니다 거의 모든 핵심 문자열 함수에 대해 mb 문자열 교체 기능이 있으므로 앞에 mb를 눌러보십시오

그러면 작동합니다 이렇게하면 PHP에서 utf-8로 작업하게됩니다 하지만 일단 데이터베이스와 상호 작용을 시작하면 utf-8로 설정해야합니다 PHP가 어떻게 작동하는지 조금씩 볼 수있는 올바른 방법을 방문하십시오 다음 단계로 넘어 갑시다