在HTML Gmail/Android Chrome中用空格替换+号

6

您好,我有一个使用mailto的Web应用程序

<a href="mailto:someone@example.com?subject=This%20is%20the%20subject&amp;cc=someone_else@example.com&amp;body=This%20is%20the%20body" class="">Send email</a>

但无论我做什么,它总是用加号替换空格。Image

我有同样的问题。我们在iOS上进行测试,两个浏览器(Chrome和Safari)都可以正常工作。 - WooCaSh
@WooCaSh 是的,在iOS上运行正常,但在Android上不起作用。不知道为什么。 - Noman
@Noman,我知道时间不长,但你可以尝试在最新版本的Chrome和Gmail上再次在Android上进行测试。我仍然看到加号的相同问题,但现在body=value甚至没有填充composer的正文。我创建了一个测试页面来测试尽可能多的情况。http://jsbin.com/roxage/2/ - 选择一个具有BODY=VALUE的选项。 - bentael
进一步测试,看起来只有在 Gmail 5.0 上出现了 BODY 没有被填充的情况,Gmail 4.9 和 Outlook 没有这个问题,但仍然看到加号而不是空格。 - bentael
@bentael 我这里也有同样的问题,目前还没有解决方案。 - Noman
显示剩余3条评论
2个回答

1

尝试解码您的字符串

只需使用Uri.encode(String)

subject = (EditText) findViewById(R.id.subject);
subject.setText(Uri.encode(WhatEverYourStringVarIs));

这将帮助您解码URI编码。
如果您指的是PHP(HTML)问题,只需执行相同操作:
$encodeString = urlencode($encodeString);
echo $encodedString;

因此,字符串将显示正确。
请查看url encode

好的,但是当我第三次阅读您的问题时:在这些HTML情况下,您可以使用空格。这是一个Android错误。只需使用以下内容:

<a href="mailto:someone@example.com?subject=This is the subject&amp;cc=someone_else@example.com">Send Mail</a>

0

8年后重获新生...

据我测试,您可以简单地在字符串中保留空格。浏览器将处理URL转换(可能是空格被转换为加号的原因...浏览器会按照字面意思解释它们)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接