使用json_encode
PHP时,为什么php的结果与Mysql的结果不一样?
这是index.php
的html和php代码。
<?PHP
session_start();
include("connect.php");
if(isset($_POST["submit"]))
{
$array = array();
$text = $_POST["text"];
$text = mysqli_real_escape_string($db_mysqli,$text);
$array[] = $text;
$array = json_encode($array);
print_r($array);
mysqli_query($db_mysqli,"INSERT INTO test_1 (xxx)
VALUES ('$array')");
}
?>
<form class="form" method="post" action="" enctype="multipart/form-data">
<textarea id="text" name="text"></textarea>
<input type="submit" name="submit" value="OK">
</form>
当测试加载index.php
并将先秦兩漢
填入textarea时,然后按ok
按钮。
您将在["\u5148\u79e6\u5169\u6f22"]
页
index.php
然后我打开mysql并看到这个结果["u5148u79e6u5169u6f22"]
我想知道为什么\
在mysql中消失了?我如何在mysql中存储\
?
答案 0 :(得分:1)
您需要为表选择utf8_ *字符集。然后,文本和备注字段将自动存储在UTF-8中。
`SET COLUMNNAME UTF8`
或者你可以在下面查询。
`alter table `DBNAME`.`TblName` Engine=InnoDB checksum=1 comment='' delay_key_write=1 row_format=dynamic charset=utf8 collate=utf8_unicode_ci`