首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -过滤输入的编码问题

PHP -过滤输入的编码问题
EN

Stack Overflow用户
提问于 2018-05-06 08:06:42
回答 1查看 262关注 0票数 0

我正在使用POST函数对我的站点上的POST参数进行消毒。

代码:

代码语言:javascript
复制
$text = trim(filter_input(INPUT_POST, 'text', FILTER_SANITIZE_STRING,
                 array('flags' => FILTER_FLAG_STRIP_LOW | FILTER_FLAG_ENCODE_HIGH)));

现在,如果我插入像"ù“这样的字符,这就是编码的结果:

(1,1)

我的数据库表是用utf8_general_ci编码的。现在,我试着用函数

代码语言:javascript
复制
utf8_decode($data)

但这不管用。请帮助如何恢复使用FILTER_FLAG_ENCODE_HIGH参数编码的字符?

编辑:这是我的连接类

代码语言:javascript
复制
 class Connection{

protected $db =null;


public function open()
{
    try {
    $dsn      = "mysql:dbname="x"; host=127.0.0.1;charset=utf8";
    $user     = "user";
    $password = "password";

    $options  = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES => false,

    );



        $this->db = new PDO($dsn, $user, $password, $options);

        return $this->db;
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
}

public function close()
{
    $this->db = null;
    return true;
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-07 00:29:42

ùù的"Mojibake“。

有关如何处理此问题,请参见https://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored

不要使用任何函数,例如utf8_decode;它们只会使问题变得更糟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50197544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档