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