>  기사  >  웹 프론트엔드  >  다른 인코딩_javascript 기술로 인해 페이지 양식 데이터가 왜곡되는 문제에 대한 솔루션

다른 인코딩_javascript 기술로 인해 페이지 양식 데이터가 왜곡되는 문제에 대한 솔루션

WBOY
WBOY원래의
2016-05-16 16:13:55980검색

오늘 아주 마법같은 문제에 직면했습니다. 여기 웹사이트의 양식을 쿼리 시스템에 제출한 후 반환 값을 얻지 못한다고 사용자가 말했습니다. 순수 HTML 실행을 값으로 검색할 수 있습니다. 직접 확인해보니 정말 그런 경우가 있었고, GET으로 제출한 매개변수를 양쪽에서 비교해보니 한 필드의 값이 다른 것 빼고는 매개변수 개수가 똑같아서 그럴 수도 있겠다는 생각이 들었습니다. 인코딩 문제로 인해 발생할 수 있습니다.

두 파일을 각각 열어본 결과 실제로 양측의 인코딩이 일치하지 않는 것을 발견했고, 서버측은 과거에는 UTF-8 인코딩을 통과한 매개변수를 정상적으로 파싱할 수 없었기 때문에 검색해봤습니다. 양식 속성에서 거의 사용되지 않는 항목을 찾았습니다.

코드 복사 코드는 다음과 같습니다.

accept-charset=”gb2312″

이 속성은 매우 흥미롭습니다. 양식이 콘텐츠를 인코딩하는 인코딩을 설정할 수 있습니다. 따라서 이 속성을 양식에 추가하면 됩니다.

근데 IE는 이 속성을 지원하지 않아서 역겹네요. 그래서 폼의 onSubmit() 메소드를 해킹해서 추가해야 했어요

코드 복사 코드는 다음과 같습니다.

onsubmit="document.charset='gb2312′;"

문제가 완전히 해결되었습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.