문자 인코딩은 MAMP 서버에서 작동하지만 WAMP 서버에서는 작동하지 않습니다.

StackOverflow https://stackoverflow.com/questions/550895

문제

여러 언어로 태그와 검색 쿼리를 수락 할 수있는 웹 응용 프로그램을 작업했습니다. 너무 많이 요구하지 않습니까?

이제 내 개발에서 MAMP 서버는 모든 것이 훌륭합니다. 다국어 태그를 추가하고 원하는 언어로 검색합니다.

반면, 제작 WAMP 서버에서 다국어 문자는 문제를 일으 킵니다. 그리고 항상, 일부 시간, 또는 일부 캐릭터조차도 아직 확실하지 않습니다.

무슨 일이 일어나는지는 추가 문자를 얻고 URL 디코딩이 적절하지 않다는 것입니다.

두 환경 모두 PHP 5, MySQL 및 Apache를 사용합니다.

내 생각에 어딘가에 설정이 잘못되었을 것입니다.

어떤 아이디어?

  • 업데이트 : 이제 특정 문자라고 확신합니다 (예 : 히브리어 ל, מ א)

  • 업데이트 : 쉽게 재현 가능 : 항상 같은 글자가 잘못 인코딩됩니다.

  • 컨텐츠 유형입니다 text/html; charset=utf-8

또한 조금 더 정확하게 지적했습니다.
검색 문자열을 사용합니다. ליבני
결과 페이지에서 나는 이것을 본다 :

  • 주소 표시 줄에서 검색 문구가 정확하고 올바르게 URL 인코딩되었습니다.
  • HTML 자체에서 나는 문자열을 본다 "�_יבני"이것은"%D7_%D7%99%D7%91%D7%A0%D7%99"이는 의미합니다 ל "로 인코딩되었다"%D7_" 대신에 "%D7%9C"가지고 있어야합니다.

나는 어디로 가야할지 정말로 모른다.
어떤 아이디어? 누구나?

도움이 되었습니까?

해결책 3

문제는 PHP의 parse_url () 어딘가에 있음이 밝혀졌습니다. 일부 버전에서는 일부 플랫폼에서 Parse_url ()가 UTF 문자를 올바르게 처리하지 않는다고 생각합니다. 창에서 발견되었습니다 적어도 한 번 더.

나는 지금 그것을 해결할 수 있었다.

모두의 시간과 관심에 감사드립니다, Omer.

다른 팁

숯불은 단순한 개념입니다. 그들에 대한 혼란스러운 점은 올바르게 수행 해야하는 여러 레벨이 있다는 것입니다. 한 곳에서 엉망이되면 일반적으로 완전히 다른 곳에 표시됩니다.

따라서 약간 굳건하지만 문제에 대한 매우 진실한 대답은 일종의 모양이 괜찮을 때까지 막대기로 찌르는 대신 당신이하고있는 일을 알아야한다는 것입니다.

다음 읽기를 권장합니다.

내부 및 외부 인코딩에 UTF-8을 사용하는 것이 좋습니다. 사용 AddDefaultCharset 지령 Apache를 기본 인코딩으로 알려줍니다.

AddDefaultCharset utf-8

이제 응용 프로그램이 데이터를 올바르게 처리하는지 확인하면됩니다 ( default_charset 지령). 출력에 UTF-8을 사용하는 경우 클라이언트는 추가 요청 (URL, 양식 데이터)에도이를 사용해야합니다.

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