PHP与特殊字符

PHP与特殊字符,php,character,Php,Character,我需要通过表单传递外来字符的帮助。像尤和埃这样的人物。我一直在阅读有关mb_语言和mb_convert_编码的文档,可以使其适用于日语字符,但不适用于欧洲字符。德语似乎没有mb_语言(“de”),而日语似乎也有mb_语言(“ja”) 我正在尝试这个,但它不起作用: $subjectAutoresponder = 'Vielen Dank für Ihre Kontaktaufnahme'; $subjectAutoresponder = mb_convert_encoding($subjectA

我需要通过表单传递外来字符的帮助。像尤和埃这样的人物。我一直在阅读有关mb_语言和mb_convert_编码的文档,可以使其适用于日语字符,但不适用于欧洲字符。德语似乎没有mb_语言(“de”),而日语似乎也有mb_语言(“ja”)

我正在尝试这个,但它不起作用:

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

有人能帮我吗?在标题中,它消除了ü而不是转换它。另外,我需要做什么才能得到一个提交外来字符的表单。谢谢。

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

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

当PHP在内存中存储字符串时,您需要告诉PHP使用某种内部编码

mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
ob_start("mb_output_handler");

将此代码放在PHP代码的开头(我希望您有一些其他页面都包含的公共头文件)。

当PHP在内存中存储字符串时,您需要告诉PHP使用某种内部编码

mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
ob_start("mb_output_handler");

将此代码放在PHP代码的开头(我希望您有一些其他页面都包含的常见头文件).

为什么不将页面的编码设置为UTF-8,然后避免此转换。为什么不将页面的编码设置为UTF-8,然后避免此转换。下面是我所知道的,meta标记不会使页面成为UTF-8。您需要以UTF-8编码保存文件。@user403888您不是这样做的,请参阅下面的答案。@spartan018:您应该这样做。当使用正确的编码时,您不需要任何额外的代码。@难以捉摸的,我仍然更喜欢明确地设置这些内容。除非他使用的是一个真正的borked编辑器,否则它应该已经将他的文件编码为UTF-8,因为他正在将ü硬编码到文件中。您需要以UTF-8编码保存文件。@user403888您不是这样做的,请参阅下面的答案。@spartan018:您应该这样做。当使用正确的编码时,您不需要任何额外的代码。@难以捉摸的,我仍然更喜欢明确地设置这些内容。除非他使用的是真正的borked编辑器,否则它应该已经将他的文件编码为UTF-8,因为他正在将ü硬编码到文件中。Ganz genau。Vielen dank:-)Ganz genau。维伦·丹克:-)