如何使用 php 禁用 post unicode 字符

How to disable post unicode character using php

我有一个关于如何从数据库发送 unicode 字符的问题。我最近看到我无法发送 unicode

例如,当我尝试发送 ⚠ 时,它显示数据库中的 post 为空。有谁能告诉我这里有什么问题吗?

<textarea name="text">&#x26a0;</textarea>`

if(isset($_POST['text'])){ 
    $textPost = mysqli_real_escape_string($db, $_POST['text']);
    $saveText = mysqli_query($db,
        "INSERT INTO posts(text) VALUES($textPost)") 
        or die(mysqli_error($db)); 
}

您应该在将数据插入数据库时​​使用 utf8_encode()。例如你有 '<textarea name="text">⚠</textarea>'

您可以使用:

$_POST['text'] = '<textarea name="text">⚠</textarea>';
$textPost = mysqli_real_escape_string($db, utf8_encode( $_POST['text'] ) );
$sql = "INSERT INTO posts(text) VALUES($textPost)";
$saveText = mysqli_query($db, $sql) or die(mysqli_error($db)); 

从数据库中获取数据时,您可以使用 utf8_decode() 来解码 utf8 字符。