表单输出ascii而“accept-charset”设置为utf-8

时间:2016-06-10 09:28:05

标签: php forms encoding utf-8 character-encoding

伙计们,我需要你帮忙。 我有一个带有一些输入的表单,期望一些特殊的字符。这就是为什么我想使用utf-8编码。它将它设置为HTML作为元标记,在PHP中作为标题,并直接在带有“accept-charset”的表单中。然而,我得到以下内容:

var_dump($_POST['name']) => "dagã¶bert" (original input: "dägobert")
var_dump(mb_detect_encoding($_POST['vorname'])); => "ascii"

我完全不知道还有什么可以让这个工作。我很欣赏任何提示。

1 个答案:

答案 0 :(得分:-1)

为确保您的Web服务器输出(来自php)被解释为utf-8,您可以通过调用显式设置编码:

header('Content-type: text/html; charset=utf-8');

在php脚本的开头。重要的是,在脚本完成任何其他输出之前调用它,否则会发生错误,无法再设置标头。

<meta charset="utf-8">标记不够用。即使在用户决定在本地存储页面并在以后再次查看时也应该使用元标记提供编码(当noch Content-Type再次提供时,因为页面没有来来自网络服务器)。