2013-05-13 2 views
3

다음과 같은 문제가 있습니다 :html 형식의 ISO-8859-1 환경에서 폴란드어 문자 전송

ISO-8859-1 charset이있는 웹 페이지가 있습니다. 이 페이지 내부

내가 양식이

지금 내가 라틴어 문자

와 혼합 폴란드어 편지를 제출하고자하는 포스트 방법으로 전송됩니다 인수

accept-charset="UTF-8" 

과 양식을 가지고

테스트,,,,,,,,,, test 테스트

그리고 PHP로 결과를 표시하고 싶습니다.

mb_convert_encoding, utf8_encode/utf8_decode, iconv 및 기타 모든 조합을 시도했습니다. 그러나 디스플레이가 옳지 않습니다. 페이지의 문자 집합이 ISO-8859-1하지만이 작은 지역은 UTF-8

+2

전체 페이지에 UTF8을 사용하지 않는 이유는 무엇입니까? –

+0

폴란드어 문자가 iso-8859-2에 있습니다. – Orangepill

+0

문제는이 페이지에 표시된 텍스트가 여러 출처 및 국가에서 온 것입니다 (탐색 데이터베이스, 제품 카탈로그 데이터베이스, Excel 파일의 공급 업체 설명 텍스트 등) 수천 년 이래로 모든 것이 iso-8859-1입니다. 모든 파일 생성 프로세스 또는 가져 오기 프로세스의 인코딩을 변경해야했습니다. 그리고 솔직히 말해서, 나는 그들 모두가 어디에 있는지 알지 못합니다. – Ello

답변

2

당신은 여기 문자 인코딩 변환으로 아무것도 할 수 없다 :

난 그냥 브라우저에하고 싶은 말. 폴란드어 문자는 ISO-8859-1에서 완전히 인코딩 할 수 없습니다. 폴란드어 및 기타 문자 (ISO-8859-2, UTF-8 등)를 인코딩하는 인코딩으로 웹 사이트의 인코딩을 변경하지 않으려면 이러한 문자를 다음과 같이 표현해야합니다. HTML 엔티티 :

echo htmlentities($utf8Text, ENT_NOQUOTES, 'UTF-8'); 

당신은 할 수 없습니다 일부 페이지은 다른 인코딩으로 인코딩된다.

+0

알았습니다. 올바른 인코딩을 얻고 데이터베이스에 적절하게 저장할 수 있다고 가정 해 봅시다. 하지만 올바른 인코딩으로 편집 할 수 있도록 양식을 어떻게 채울 수 있습니까? 같은 방법으로? – Ello

+0

문서가 ISO-8859-1로 선언 된 경우 문서의 모든 텍스트가 ISO-8859-1로 인코딩되어야합니다. 선택한 인코딩으로 표현할 수없는 문자를 삽입하려면 HTML에서 ** HTML 엔터티 **를 제공해야합니다. 브라우저는 해당 엔티티를 해당 문자로 디코딩하여 양식에 선언 된 인코딩으로 서버에 다시 제출합니다. – deceze

+0

고마워, 내가 그들에게 주사를 줄거야 – Ello

관련 문제