Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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
Php 为什么$\u POST数据在构建到对象中后会丢失UTF8字符?_Php_Utf 8 - Fatal编程技术网

Php 为什么$\u POST数据在构建到对象中后会丢失UTF8字符?

Php 为什么$\u POST数据在构建到对象中后会丢失UTF8字符?,php,utf-8,Php,Utf 8,我一直在看很多关于UTF8字符问题的话题。我已经确认MySQL连接和数据库可以使用utf字符,并且发现了一个有趣的问题 我有一个表单,其输入字段值由类持有。但是,当$\u POST和类变量彼此相邻转储时,我注意到类变量不再包含UTF8字符 我的类有以下构造函数(我只是粘贴相关的位,因为它是一个巨大的类): 构造函数的目的是清除恶意输入中的输入,我还测试了regex,它与输入的任何UTF8字符都不匹配,并用作$something=newbooking($\u POST) $\u POSTvsCla

我一直在看很多关于UTF8字符问题的话题。我已经确认MySQL连接和数据库可以使用utf字符,并且发现了一个有趣的问题

我有一个表单,其输入字段值由
类持有。但是,当
$\u POST
变量彼此相邻转储时,我注意到类变量不再包含UTF8字符

我的类有以下构造函数(我只是粘贴相关的位,因为它是一个巨大的类):

构造函数的目的是清除恶意输入中的输入,我还测试了regex,它与输入的任何UTF8字符都不匹配,并用作
$something=newbooking($\u POST)

$\u POST
vs
Class

Postarray(17) { ["order"]=> string(18) "Külső-Belső Kárpit" ["comment"]=> string(0) "" } 

Booking obj:object(Booking)#3 (17) { ["id"]=> NULL ["order"]=> string(14) "Kls-Bels Krpit" ["comment"]=> string(0) "" }

我读到类文件的编码可能有问题,我正在使用Atom,检查时,文件的编码显示为
UTF8
。有人知道为什么会出现这种情况吗?

我已经用几个在线测试仪测试了
regex
字符串,这确实是去除UTF字符的原因——这很好地说明了这一点

Postarray(17) { ["order"]=> string(18) "Külső-Belső Kárpit" ["comment"]=> string(0) "" } 

Booking obj:object(Booking)#3 (17) { ["id"]=> NULL ["order"]=> string(14) "Kls-Bels Krpit" ["comment"]=> string(0) "" }