mailto发送给多人在outlook express下失败

事件:

用mailto链接,调用邮件客户端,发送邮件

发送给多人,并要显示收件人的姓名

问题:

使用点击1都是可以的

带上姓名以后:

使用点击1雷鸟可以,outlook express只显示第一个收件人

改成:

使用点击2可以

带上中文以后:

使用点击2乱码

处理乱码:(outlook使用gbk编码)

$str = '?to=你好&to=使得';

使用点击2把前面的‘?to=你好’都作为姓名了

最后改成:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$str = '?to='.urlencode(iconv('utf8', 'gb2312', '你好')).''.'&to='.urlencode(iconv('utf8', 'gb2312', '使得')).'';
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
关于urlencode(),符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的,即要把特殊字符转化成url编码。

字符   特殊字符的含义   URL编码  
#   用来标志特定的文档位置   %23  
%   对特殊字符进行编码   %25  
&   分隔不同的变量值对   %26  
+   在变量值中表示空格   %2B  
\   表示目录路径   %2F  
=   用来连接键和值   %3D  
?   表示查询字符串的开始   %3F 

解决:


'.'&to=似的';
}else{/*gbk*/
	$str = '?to='.urlencode(iconv('utf8', 'gb2312', '你好')).''.'&to='.urlencode(iconv('utf8', 'gb2312', '使得')).'';
}
?>
点击

后续:

变态,搞了半天自己调试的居然是outlook express,这种方法在outlook下又不适用......

你可能感兴趣的:(PHP,express,web服务,url,server,linux,文档)