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问题.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...