데비안 서버의 PHP에서 UTF-8 문자열에 문제가 있습니다. 세부Debian 서버의 PHP DOM에 대한 UTF-8 문제
업데이트
I've은 좀 더 테스트를 할 상황은 이제 더 구체적이다. 상황에 더 잘 부합하도록 제목과 세부 정보를 업데이트했습니다. 답변을 주셔서 감사 드리며 문제가 명확하게 설명되지 않았 음을 사과드립니다. 다음 스크립트는 내 데비안 서버에 내 로컬 Windows 시스템에서 잘 작동하지만 내 서버에서
UTF-8: ÄÖÜ
UTF-8: ÄÖÜ
출력은 다음과 같습니다 :
내 로컬 컴퓨터에서 예상 출력이므로<?php
header("Content-Type: text/html; charset=UTF-8");
$string = '<html><head></head><body>UTF-8: ÄÖÜ<br /></body</html>';
$document = new DOMDocument();
@$document->loadHTML($string);
echo $document->saveHTML();
echo $string;
UTF-8: ÄÖÜ
UTF-8: ÄÖÜ
BOM이없는 UTF-8로 메모장 ++에서 스크립트를 작성하고 SSH를 통해 전송했습니다. 귀도 (guido)가 알려준 것처럼 문자열 자체는 적절하게 UTF-8로 인코딩됩니다. PHP DOM 또는 libxml에 문제가있는 것 같습니다. 그리고 그 이유는 그것이 기계에 의존하기 때문에 약간의 설정이되어야합니다.
원래의 질문에
내가 Windows에서 XAMPP 로컬로 작업하고 모든 것이 괜찮습니다. 하지만 서버에서 UTF-8 문자열을 사용하여 프로젝트를 배포하면 모두 엉망이됩니다. 사실이 테스트 스크립트를 업로드 할 때
echo utf8_encode('UTF-8 test: ÄÖÜ');
나는 "ÃÃ"를 얻습니다. 또한 내가 서버에 퍼티와 연결할 때 움라우트 (ÄÖÜ)를 쉘에 올바르게 쓸 수 없다. 이 문제가 PHP와 관련이 있는지 궁금합니다.
질문의 잘못된 범위와 최종 답변에 대해 유감스럽게 생각합니다. 특히 힌트에 대해 귀도에게 특히 감사드립니다.불행히도이 문제는 libxml과 관련이 있습니다. –