"utf8 = ✓"를 "utf8 = true"보다 선호합니까?


569

최근에 쿼리 매개 변수 "utf8 = ✓"를 포함하는 몇 개의 URI를 보았습니다. 나의 첫인상 ( "mmm, cool cool"이라고 생각한 후)은 이것이 깨진 문자 인코딩을 감지하는 데 사용될 수 있다는 것이었다.

문자 인코딩의 잠재적 인 문제를 해결하는 더 좋은 방법입니까, 아니면 개발자가 해킹을 즐기기 만합니까?


7
동의하지 않습니다. URN처럼 보이고 Bitcoin과 같은 쿼리 매개 변수를 취하는 구성표가 있습니다. URI는 브라우저에 국한되지 않습니다. en.wikipedia.org/wiki/URI_scheme을 참조하십시오 . 이 질문 브라우저가 프로토콜 핸들러에 액세스 할 때 문자 인코딩이 필요한 일반적인 경우도 다룰 있습니다.
Gary Rowe

3
이러한 URL의 예를 제공하거나 발생하지 않았습니다.
hakre

10
주제를 벗어 났지만 괜찮습니다. 여기 내 개인 기부 비트 코인 URI가 있습니다 : bitcoin : 1KzTSfqjF2iKCduwz59nv2uqh1W2JsTxZH? amount = 0.5 & label = Agile % 20Stack. 이 체계는 기본적으로 쿼리 매개 변수가있는 URN이지만 프로토콜 처리기로 전달됩니다. 이러한 종류의 URI는 아마도 "utf8 = ✓"대안에서도 도움이 될 수 있습니다.
Gary Rowe

1
@GaryRowe 그래서 그 링크에서 기부금을 얻었습니까?
Kyralessa

답변:


814

기본적으로 이전 버전의 IE (<= 8)는 가능한 경우 라틴 -1 인코딩으로 양식 데이터를 제출합니다. IE는 Latin-1로 표현할 수없는 문자를 포함함으로써 양식 제출에 UTF-8 인코딩을 사용해야하므로 데이터베이스 지속성과 같은 다양한 백엔드 프로세스를 단순화합니다.

매개 변수가 대신 utf8=true이 브라우저에서는 UTF-8 인코딩을 트리거하지 않습니다.


8
@LarsViklund 나는 내 의견을 명확하게해야합니다. 나는 문자 인코딩과 관련된 유효성 검사가 생략되지 않고 단순화되었음을 의미했습니다.
게리 로우

3
@Lars 맞습니다. 입력을 확인하지 않아도됩니다. 그러나 인코딩 조정은 보안 처리의 일부일 뿐이며 "표준 처리"경로의 개념을 손상시키지 않습니다.
Gareth

36
stackoverflow.com/questions/3222013/… 도 참조하십시오 . 루비 온 레일즈는 눈사람 캐릭터를 사용했던 것으로 보이며, 애매하지만 덜 재미있는 체크 표시로 바뀌 었습니다.
Jack V.

11
@JohnLBevan 수신 측에서 무시되었으므로 브라우저가 latin1 대신 utf8로 물건을 보내도록해야합니다. 나는 또한 (.이 의견에 렌더링되지 않는 것처럼 즉, 코드 포인트 '똥 더미'의 모양) 즉 = 💩로 본 적이
cabbey

3
@Gareth : IE <= 8 양식이 문서 및 / 또는 양식 인코딩을 지원하지 않는다는 진술을 백업 할 수 있습니까?
hakre
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.