2012-06-18 56 views
0

我的表单存在拉丁字符(葡萄牙语)的问题。如果用户使用特殊字符提交了他的信息,我会在电子邮件中获得信息,并带有乱七八糟的字符。其余的都没问题(表单页面显示的是特殊字符,这只是我收到的电子邮件,与用户的信息混淆了字符)。转换用户输入数据?

长话短说,我可能已经找到了解决的办法。在哪里,但不是如何。

这里是我认为它可以固定位:

$content = $fields['name'] . " has sent you a message through the your Form:\r\n\n"; 
    $content .= "-------\n" . $fields['message'] . "\r\n\n"; 
    $content .= "Contact reason: " . $fields['contact_reason'] 
      . " \n\nEmail: " . $fields['email'] 
      . " \n\nPhone: " . $fields['phone'] . " \n\n"; 

如何添加一些代码,以便我可以在用户输入数据转换为ISO-8859-1?或者,这不是正确的地方吗?

P.S .:这是我购买的脚本。店主没有回复,也没有提供支持。

+2

如果开发者没有给予任何支持,将他的名字放在互联网上的其他人停止购买他的代码。每个开发他的代码的开发者都应该给予他的客户至少最少的支持。如果他不是,不要买他的工作...... – shadyyx

+0

完全同意。如果你想要,我可以在这里发布? –

回答

1

首先,您必须知道葡萄牙文字符是否可以完全转换为ISO-8859-1(请检查这一点,即使所有的欧洲语言都可以转换,例如匈牙利语ő和ű不能转换为ISO-8859 -1)。如果没有,你将不得不改变你的电子邮件设置。如果是,您可能需要使用utf8_decodembstringiconv

+0

是的,ISO-8859-1是葡萄牙人角色在我的form.php页面上显示的唯一方法。
但发送.php页面是必须有问题的页面。这就是我试图添加或以某种方式转换用户输入数据的地方。 我已经尝试了很多东西: 我曾尝试: iconv_set_encoding( “internal_encoding”, “UTF-8”); 和 header('Content-Type:text/xml'); 和 $ headers。=“Content-type:text/plain; charset = iso-8859-1 \ r \ n”; 和 header('Content-Type:text/html; charset = iso-8859-1'); and <!DOCTYPE html>

0

这是固定的。

该解决方案将MIME添加到第一篇文章中的特定字段。