PHP和特殊字符

时间:2010-11-08 17:47:31

标签: php character

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

将此代码放在PHP代码的开头(我希望你有一些每个其他页面包含的通用头文件)。

答案 1 :(得分:1)

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