Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过HTML表单发布到PHP的损坏字符_Php_Html_Encoding_Utf 8 - Fatal编程技术网

通过HTML表单发布到PHP的损坏字符

通过HTML表单发布到PHP的损坏字符,php,html,encoding,utf-8,Php,Html,Encoding,Utf 8,我知道这一定是一个相对简单的问题,但谷歌让我失望了。假设我有以下简单的PHP文档(没有关于安全性、SQL注入、XSS等的讨论。这只是一个简单的示例来说明我的编码问题): 现在,我在表单中输入一个∑,然后提交。重新加载页面时,文本区域将填充Î,而不是∑ 我理解这是为什么(在某种程度上),但我不知道如何修复帖子来阻止它发生。有什么想法吗?我看到您正在向文件中添加文本,然后将该文件拉回来。将信息添加到文件时是否尝试使用utf8\u encode() file_put_contents($file

我知道这一定是一个相对简单的问题,但谷歌让我失望了。假设我有以下简单的PHP文档(没有关于安全性、SQL注入、XSS等的讨论。这只是一个简单的示例来说明我的编码问题):


现在,我在表单中输入一个,然后提交。重新加载页面时,文本区域将填充Î,而不是


我理解这是为什么(在某种程度上),但我不知道如何修复帖子来阻止它发生。有什么想法吗?

我看到您正在向文件中添加文本,然后将该文件拉回来。将信息添加到文件时是否尝试使用
utf8\u encode()

 file_put_contents($filename, utf8_encode($_POST['message']));

我看到您正在向文件中添加文本,然后将该文件拉回来。将信息添加到文件时是否尝试使用
utf8\u encode()

 file_put_contents($filename, utf8_encode($_POST['message']));
默认情况下,假设ISO-8859-1作为输入,但您为其提供utf-8…,因此正确的方法是
htmlentities($string,ENT_COMPAT,“utf-8”)

在这种情况下,我宁愿选择
htmlspecialchars
,但不需要其他实体。

默认假定ISO-8859-1作为输入,但您将其输入utf-8…,因此正确的方法是
HTMLEntitys($string,ENT_COMPAT,“utf-8”)


在这种情况下,我宁愿选择
htmlspecialchars
,但不需要其他实体。

您的数据库是否保存在UTF-8中?没有数据库。文件夹。虽然我确信如果我保存到数据库中也会发生同样的情况。您的数据库是否保存在UTF-8中?没有数据库。文件夹。虽然我确信如果我保存到数据库中也会发生同样的情况,但不幸的是,这给了我一个错误�您是否尝试删除
htmlentities()
?有趣的是<代码>utf8_解码
可以工作。。。但是最好告诉
htmlentities
您有一个实际的utf8字符串。。。我的经验法则通常是:如果你提供utf-8,并且你的代码中有
utf8\u编码
utf8\u解码
的任何地方,实际上有些地方是错的。不幸的是,这给了我一个错误�您是否尝试删除
htmlentities()
?有趣的是<代码>utf8_解码
可以工作。。。但是最好告诉
htmlentities
您有一个实际的utf8字符串。。。我的经验法则通常是:如果您提供utf-8,并且您的代码中有
utf8\u encode
utf8\u decode
的任何地方,实际上有些地方出了问题。我没有意识到
htmlentities
是这样工作的。使用
htmlspecialchars
时,它就像一个符咒一样工作,并且是根据我使用它的目的调用的适当函数。谢天谢地,我没有意识到
htmlentities
是这样工作的。使用
htmlspecialchars
时,它就像一个符咒一样工作,并且是根据我使用它的目的调用的适当函数。谢谢