【问题标题】:php mail + utf-8 = problem in Internet explorerphp mail + utf-8 = Internet Explorer 中的问题
【发布时间】:2010-04-19 14:32:58
【问题描述】:

我在页面上有一个表单,通过 ajax 请求将数据发送到 php 文件。然后将数据收集到单个变量中并发送到 php 文件中指定的电子邮件。数据是斯洛文尼亚语,使用了很多使用变音符号 (š,ć,ž) 的字母。当从任何不是 Internet Explorer 的浏览器提交表单时,一切正常,但从 IE 发送时,电子邮件包含一些乱码字符而不是带有变音符号的字母......

我在 php 文件中指定了邮件头,如下所示:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html;charset=UTF-8' . "\r\n";
$headers .= 'From: xxx@yyy.si' . "\r\n";

形式为:

        <form id="order" class="order" name="form299" action="orderForm.php" method="POST">
            <fieldset>
             <p>Ime Priimek / Naziv 

    podjetja:</p>

 .....   
         <p>Naslov / Sedež podjetja:</p> 

有人遇到过这个问题吗?

【问题讨论】:

  • 你能指定你使用的是什么版本的IE吗?还请说明您将表单发送到浏览器的编码是什么?
  • 您是通过直接输出或存储到文本文件中的方式检查它而不发送电子邮件吗?
  • @ZeissS :在任何版本的 IE 中都是一样的 @Col.Shrapnel :我会尝试这样做,但我认为这不会做任何事情,因为邮件到达时应该是从任何其他浏览器。

标签: php internet-explorer utf-8


【解决方案1】:

我找到了这个问题的原因,它是javascript中的urlencoding...初学者的错误:)

我刚刚加了

encodeURI('element.value') 

对于我通过 ajax 发送的每个字段,它都运行良好

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多