如何使用 php 禁用 post unicode 字符
How to disable post unicode character using php
我有一个关于如何从数据库发送 unicode 字符的问题。我最近看到我无法发送 unicode
例如,当我尝试发送 ⚠
时,它显示数据库中的 post 为空。有谁能告诉我这里有什么问题吗?
<textarea name="text">⚠</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 字符。
我有一个关于如何从数据库发送 unicode 字符的问题。我最近看到我无法发送 unicode
例如,当我尝试发送 ⚠
时,它显示数据库中的 post 为空。有谁能告诉我这里有什么问题吗?
<textarea name="text">⚠</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 字符。