PHP和特殊字符

问题描述:

我需要帮助通过表单传输外来字符。像ü和é。我一直在阅读有关mb_language和mb_convert_encoding的文档,并且可以使其适用于日文字符,但不适用于欧洲字符。德国人似乎没有mb_language('de'),因为日本人有mb_language('ja')。PHP和特殊字符

我想这一点,但它不工作:

$subjectAutoresponder = 'Vielen Dank für Ihre Kontaktaufnahme'; 
$subjectAutoresponder = mb_convert_encoding($subjectAutoresponder, "ISO-8859-1", "UTF-8"); 
$subjectAutoresponder = mb_encode_mimeheader($subjectAutoresponder); 

有人能帮助我吗?在标题中,它消除了ü而不是转换它。另外,我需要做些什么才能让表单提交外国字符。谢谢。

+0

为什么不把页面的编码设置为UTF-8,然后避免这种转换。 – 2010-11-08 17:52:41

您需要告诉PHP在将字符串存储在内存中时使用某种内部编码。把这段代码放在你的PHP代码的开始处(我希望你有一些通用的头文件,其他页面都包括在内)。

+0

+1!虽然正确,我仍然更喜欢正确的编码。 – jwueller 2010-11-08 19:12:41

+0

Ganz genau。 Vielen闷闷不乐:-) – Chemaclass 2015-10-20 14:45:06

您不应该使用ISO-8859-1。尝试使用UTF-8编码所有内容。它能处理我能想到的每个角色。你不需要手动编码任何东西。

+0

我试过UTF-8,但它仍然不起作用。 – sehummel 2010-11-08 17:55:09

+0

这是我有: – sehummel 2010-11-08 17:55:54

+0

这里是我有 sehummel 2010-11-08 17:56:47