2011-11-10 6 views
4

내 웹 사이트에서 mailto URI 스킴을 사용하여 현재 페이지를 이메일로 보내고 있습니다.mailto 읽을 수없는 문자 - 유니 코드

문제는 내가

예 링크를 클릭

<a href="mailto:[email protected]?subject=मानक हिन्दी">Testing</a> 

에서, 아웃룩 (버전 6) 열리는 이메일 링크의 대상으로 힌디어를 사용하고 그것을 주제로 일부 읽을 수없는 문자를 표시 대신 "मानक हिन्दी"나는

"• à¤¹à¤¿à¤¨à ¥ à¤|à ¥ € मानठ'"수, 즉의 나는 PHP를 사용하고 있으므로 urlencode, utf8_encode 및 다른 유사한 함수를 사용해 보았습니다. 아무 쓸모가 없습니다. 페이지의 기본 문자 세트는 UTF-8입니다. मानक हिन्दी을 직접 붙여 넣으면 텍스트가 그대로 붙여집니다.

하지만 mailto 링크로 필요합니다 ... 해결책은 무엇입니까?

답변

4

불행하게도이 할 수있는 Outlook 끝 부분에서 'mailto : protocol에 대한 UTF-8 지원 허용'옵션을 설정하여 수정해야합니다.

그렇지 않으면 기본적으로 Outlook은 사용자의 로캘 별 바탕 화면 기본 인코딩 ('ANSI'코드 페이지)을 사용하며, 이는 UTF- 8. 이렇게하면 mailto : URL의 비 ASCII 문자를 사용하면 효과적으로 쓸모 없게 될 수 있습니다. (subject=의 정상적인 신뢰성보다는 훨씬 더.)

일반적으로 생각을 비 ASCII 문자열이 바로 하나 인코딩 URL에 :

<a href="mailto:[email protected]?subject=%E0%A4%AE%E0%A4%BE%E0%A4%A8%E0%A4%95%20%E0%A4%B9%E0%A4%BF%E0%A4%A8%E0%A5%8D%E0%A4%A6%E0%A5%80">Testing</a> 

이보다 더 믿을 : 같은 URI를 사용하여 원시 유니 코드로 IRI 형식. 그러나 이것은 Outlook 문제를 해결하지 못합니다.

0
까지 내가 이메일에 대한 대신 유니 코드의 지역 인코딩을 사용하여 알고, 그래서 모든 유니 코드 문자열이 스크램블 될 것이다

이전 전망 - 흔한에 대한 인코딩을 설정하는 옵션이있을 수 있습니다 -하지만 확실하지

0

bobince가 말했듯이 Outlook에는 한계가 있습니다. Microsoft는 published documentation을 가지고 있는데 제대로 구성된 Exchange 서버에 연결된 Outlook 2003 및 2007이 기본적으로 유니 코드를 지원하도록 설정되어 있지만 실제로는 일반 대중에게 도움이되지는 않는다는 내용이 있습니다.

참조를 위해 참조하려는 "표준"은 RFC 2047입니다.

이 제한 사항을 극복하기 위해 구현 한 솔루션 (힌디어와 같은 이국적인 언어가 아닌 유럽 언어와 액센트에서만 사용 가능)은 mailto : 링크 대신 웹 양식을 사용하는 것입니다. 서버 측에서 더 많은 설정이 필요하지만 연락처 프로세스를보다 강력하게 제어 할 수 있습니다.