2012-04-17 5 views
0

"Entrée"라는 단어가 표시된 간단한 웹 페이지가 있습니다. 웹에서 완벽 해 보이지만 Android에서 HTTPClient를 사용하여이 단일 단어를 표시해야하는 웹 페이지를 표시 할 때 "é"를 처리하는 방법을 알지 못합니다. 나는 문자 코드 등에 익숙하지 않지만, 나는 주변을 둘러 보았고 대부분의 사람들이 UTF-8을 추천하는 것을 보았다. Android에서이 특수 문자를 읽을 수 있도록하려면 어떻게해야하나요?Android에서 PHP 페이지의 특수 문자가 표시되지 않습니다.

웹 페이지의 PHP 코드 :

<?php echo "Entrée"; ?>

어떤 아이디어?

+0

이것은 PHP가 아니라 Android와 관련이 있습니다. –

+1

@The Man PHP 스크립트가 설정 한 문자 인코딩 (not)에 따라 다를 수 있습니다. –

+0

아마 "é"를 대체 할 수있는 PHP 코드가있어 안드로이드와 웹 페이지에 잘 표시 될 것입니다. – EGHDK

답변

2

이것은 문자 인코딩 문제 일 가능성이 큽니다. PHP 스크립트는 아마도 올바른 문자 인코딩 헤더를 설정하지 않으므로 브라우저와 안드로이드는 그들이 원하는대로 생각합니다.

이 작업을 수행하지 말아주십시오, 그것은 더러운 : HTML entites로 문자를 대부분의 문자 인코딩 문제가 특별한 (주로 비 ASCII)를 탈출한다을 피하는 빠른 해킹. é는 예를 들어 &eacute;입니다. echo "Entrée" 만 원할 경우 즐겨 찾는 텍스트 편집기에서 찾기 및 바꾸기 만하면됩니다.

당신이 정적 단어보다 더 많은 출력 아무것도 계획 데이터베이스 정도에서 약간의 동적 텍스트, 당신은 정말 시도해야한다고 경우

이 세상을 더 나은 곳으로 만드는 대신에이 작업을 수행 올바른 일을하십시오 : PHP 스크립트 출력을 UTF-8로 만들고 정확한 Content-Type 헤더를 보냈습니다.

내 PHP는 매우 녹슨이지만,이 같은 작업을해야합니다 : (ANSI하지

<?php 
header('Content-type: text/plain; charset=UTF-8'); 
echo "Entrée"; 
?> 

당신은 또한 확실히 텍스트 편집기를 만들 에 필요하거나 IDE 이 UTF-8로 PHP 파일을 저장 , ASCII, Windows-1252 등) 또는 é이 엉망이되어 헤더 설정을 수정하지 않아도됩니다. 대부분의 편집자는 ANSI 형식으로 저장되므로 편집기에서 잘 보이지만 브라우저에서 볼 때면 얼굴이 날아갑니다.

+0

그 코드는 웹 페이지에서 "Entr e"의 출력을 받았습니다. 약간의 조정을 시도 할 것이다. 편집 : 그것은 또한 안드로이드 응용 프로그램에서 "Entr e"의 출력을 주었다. – EGHDK

+0

PHP 파일을 UTF-8로 저장 했습니까?PHP 스크립트가 올바른 'Content-Type' 헤더를 보내고 있다면 Chrome 개발자 도구 또는 방화범을 끄는 것으로 확인하고 싶을 수도 있습니다. –

+0

방금 ​​위의 PHP 스 니펫을 사용해 보았고 ANSI로 저장하려고하는 메모장을 만났습니다 ... 실제로 UTF-8로 강제해야하고 작동합니다 :) 대신 SFTP/SCP와 같은 것을 선호합니다 (대신 FTP는 텍스트 파일이 서버에 파일을 업로드하는 것으로 간주 할 때 혼란스럽지 않습니다. –

관련 문제