编程语言
首页 > 编程语言> > php – mailto不可读的字符 – unicode

php – mailto不可读的字符 – unicode

作者:互联网

我在我的网站上使用mailto URI方案通过电子邮件发送当前页面.

问题是我使用印地语作为mailto链接中的主题

<a href="mailto:test@gmail.com?subject=मानक हिन्दी">Testing</a>

单击链接时,Outlook(版本6)打开,它显示一些不可读的字符作为主题,而不是“मानकहिन्दी”,即我得到”मानकहि A¥à¤|ी”

我正在使用PHP所以我尝试使用urlencode,utf8_encode和其他类似的功能,这是没用的.页面的默认字符集是UTF-8

当我直接粘贴文本मानकहिन्दी时,它的工作原理.

但我需要它作为mailto链接…什么是解决方案?

解决方法:

不幸的是,这只能通过设置“允许对mailto:protocol的UTF-8支持”选项在Outlook端修复. (2010年,这是选项 – >高级 – >国际选项.)

否则,默认情况下,Outlook将使用用户的特定于语言环境的桌面默认编码(“ANSI”代码页),该编码从不是UTF-8.这使得在mailto:URL中使用非ASCII字符是如此不可靠,以至于无效. (甚至超过了主题的正常不可靠性=.)

一般来说,对非ASCII字符串进行URL编码的想法是正确的:使用如下URI:

<a href="mailto:test@gmail.com?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>

使用原始Unicode比IRI格式更可靠.但是,这并未解决Outlook问题.

标签:php,unicode,hyperlink,mailto,html
来源: https://codeday.me/bug/20190626/1293424.html