이전 버전에서 php5.4로 업그레이드할 때 가장 고민되는 문제가 htmlspecialchars인 것 같아요! 물론 htmlentities도 영향을 받습니다. 그러나 중국 웹사이트의 경우 htmlspecialchars를 사용하는 것이 더 일반적이며 htmlentities는 거의 사용되지 않습니다.
아마도 외국인들은 웹페이지가 일반적으로 UTF-8로 인코딩되어야 한다고 생각해서 GB2312, GBK 인코딩을 사용하는 중국 웹사이트 때문에 고생하시는 분들이 많을 텐데요...!
구체적인 성과:
$str = "9enjoy.com의 PHP 버전은 5.2.10입니다.";
echo htmlspecialchars($str);
gbk 문자 세트 아래의 출력은 비어 있습니다. utf-8에서는 출력이 정상입니다.
이유는 5.4.0에서 이 기능이 변경되었기 때문입니다.
5.4.0 인코딩 매개변수의 기본값이 UTF-8로 변경되었습니다.
그것은 무엇이었나요?
string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )
변환에 사용되는 인코딩을 정의합니다. 생략할 경우 이 인수의 기본값은 PHP 5.4.0 이전 버전에서는 ISO-8859-1이고 PHP 5.4.0 이상에서는 UTF-8입니다.
ISO-8859-1로 밝혀졌지만 5.4 이후에는 기본적으로 utf-8이 되었습니다! 그런 다음 이 기능을 중국어로 사용하면 출력이 공백이 됩니다.
국내 오픈소스 프로그램 중 상당수가 5.4에서 이런 문제를 겪게 됩니다. DISCUZ 관계자도 사용자들에게 5.4로 업그레이드하지 말 것을 권고하고 있습니다
해결책:
1. htmlspecialchars를 사용하는 모든 프로그램은 거의 수정하지 않습니다
1.1 두 번째 $flags 매개변수의 기본값은 ENT_COMPAT이므로
으로 변경됩니다.
htmlspecialchars($str,ENT_COMPAT,'GB2312');
GBK는 왜 안되나요? GBK 매개변수가 없기 때문에 GBK를 강제로 사용하면 다음과 같은 오류가 보고됩니다.
경고: htmlspecialchars(): utf-8을 가정하면 `gbk' 문자 세트가 지원되지 않습니다
GBK를 사용하려면 다음과 같이 변경하세요.
htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
1.2. 동일한 절차가 변경되지만, 하나의 매개변수가 생략될 수 있습니다.
웹 페이지 헤드에
을 추가할 수 있습니다.
ini_set('default_charset','gbk');
그런 다음
으로 변경하세요.
htmlspecialchars($str,ENT_COMPAT,'');
문서에는 다음과 같이 명시되어 있습니다. 빈 문자열은 스크립트 인코딩(Zend 멀티바이트), default_charset 및 현재 로케일(nl_langinfo() 및 setlocale() 참조)에서 이 순서대로 감지를 활성화합니다.
일반적인 의미는 다음과 같습니다. 빈 문자열이 전달되면 default_charset의 인코딩이 사용됩니다.
1.3. 함수 캡슐화... htmlspecialchars라는 단어는 항상 기억하기 어려웠습니다.
함수 htmlout($str) {
htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1') 반환;
}
그런 다음 일괄 교체로 이동합니다.
2. 소스코드를 직접 수정하고 다시 컴파일해보세요! 이는 제가 현재 온라인에서 진행하고 있는 계획이기도 합니다.
ext/standard/html.c 수정
372행 소개
/* 기본값은 이제 UTF-8입니다 */
if (charset_hint == NULL)
return cs_utf_8;
cs_utf_8을 cs_8859_1로 변경
/* 기본값은 이제 UTF-8입니다 */
if (charset_hint == NULL)
반환 cs_8859_1;
컴파일 후에는 원본 프로그램을 어떤 방식으로든 조정할 필요가 없습니다.
설치방법은 http://www.jb51.net/article/63388.htm을 참고하세요.
Windows에서는 어떻게 해야 하나요? 이걸 스스로 컴파일하는 방법을 찾아보자. 꽤 어렵다...
참고용 URL 제공: http://www.jb51.net/article/63391.htm
그의 말 중 하나를 인용하자면: 커피와 콜라를 준비하고, 준비하세요. 몇 시간이 걸릴 수도 있습니다...

종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Instagram은 2012 년 Facebook에서 유명한 인수에 이어 타사 사용을 위해 두 개의 API 세트를 채택했습니다. Instagram Graph API 및 Instagram Basic Display API입니다. 개발자는

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
