문제

어떤 이유로 나는 a £ 76756687 내 양식의 텍스트 필드에 A £를 입력 할 때 이상한 캐릭터?

도움이 되었습니까?

해결책

당신이 의심하는 것처럼, 그것은 캐릭터 인코딩 문제입니다 - 페이지가 UTF -8의 숯을 사용하도록 설정되어 있습니까? (이 인코딩에 실제로 잘못 갈 수는 없습니다.) 또한, 아마도 나가는 길에 파운드 기호를 인코딩하고 싶을 것입니다.£)

예제 문자 세트 (양식 페이지 및 HTML 이메일 모두)를 사용할 수 있습니다.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

즉, 사용자가 통화 기호를 입력 해야하는 좋은 이유가 있습니까? 정적 텍스트 항목이나 텍스트 필드의 왼쪽으로 드롭 다운으로 만드는 것이 더 나은 아이디어일까요? (내가 엉덩이를 말하고 있고 당신은 자유 형식의 텍스트 주식 또는 요약을 사용하고 있다면 무시하십시오.)

다른 팁

UTF-8을 문자 인코딩으로 사용하고 있지만 출력을 올바르게 선언하지는 않습니다. 때문에 £ 문자 (u+00a3)는 0xC2A3과 UTF-8에서 인코딩됩니다. 그리고 바이트 시퀀스는 두 문자를 나타냅니다 Â 그리고 £ ISO 8859-1로 해석 될 때.

따라서 문자 인코딩을 올바르게 지정하면됩니다. PHP에서는 사용할 수 있습니다 header 기능 적절한 값을 설정합니다 컨텐츠 타입 헤더 필드 처럼:

header('Content-Type: text/html;charset=utf-8');

그러나 출력 전에이 기능을 호출해야합니다. 그렇지 않으면 HTTP 헤더가 이미 전송되어 수정할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top