2013-03-22 5 views
0

JavaScript에 Ajax 요청을 사용하여 매개 변수로 URL에 삽입 할 특수 문자를 변환 한 다음 PHP로 읽는이 문제가 있습니다. 문자는 "Ñ"입니다. 내 자바 스크립트에서PHP : 특수 문자 변환

나는 탈출 ('피나')로 매개 변수를 넣어 "파이 %의 D1A"

로 변환되고 내 PHP에서 그것을 읽을 때 물음표 다이아몬드 모양이 나타납니다 것입니다 . 여기 내가 그것을 읽는 방법입니다.

내가 말한 이상한 문자가 나와서 내 데이터베이스 인 postgreSQL을 저장하면 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

시도해보십시오. 문제가 해결 될 수도 있습니다. – Dev

+0

은 BOM 문제 일 수도 있습니다. –

+0

@Fred You * do *는 BOM에 유해한 집착이 있습니다. – deceze

답변

0

urldecode($message)을 사용해 보셨습니까?

%D1은 Ñ의 URL로 인코딩 된 표현입니다.

1

D1은 ISO-8859-1 ("Latin-1")로 인코딩 된 "Ñ"문자입니다.
"물음표가있는 다이아몬드 모양"()은 유니 코드 대체 문자입니다. 하나를 볼 때마다 브라우저/편집기/텍스트 해석 중 텍스트 이 유니 코드으로 해석되고 가정 된 유니 코드 인코딩에서 유효하지 않은 문자가 발생 함을 나타냅니다.

즉, 문자는 실제로 Latin-1로 인코딩되었지만 브라우저에 UTF-8로 인코딩 된 것입니다. 인코딩이 일치하지 않습니다. 브라우저에 Content-Type: text/html; charset=XXX 헤더를 통해 올바른 인코딩을 지정하거나 작업하기 전에 Latin-1에서 UTF-8로 변환하십시오.

+0

예. "Ñ"대신 "물음표가있는 다이아몬드 모양"()이 표시됩니다. 그것을 시도하게하십시오. 고마워. – oneofakind