mysql插入转★进入â€...

时间:2016-11-28 08:48:36

标签: mysql character-encoding

当我从我的应用程序中插入所有★(星星)变成“â€......”

如何阻止这种情况发生?

*如果我通过phpmyadmin直接插入它,它会起作用,但是当使用这个php直接插入时它会起作用:

<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";

$inputTime = mysql_escape_string($_POST['inputTime']);
$inputBotid = mysql_escape_string($_POST['inputBotid']);
$inputImage = mysql_escape_string($_POST['inputImage']);
$inputName = mysql_escape_string($_POST['inputSkin']);
$inputStatus = mysql_escape_string($_POST['inputStatus']);
$inputTradeid = mysql_escape_string($_POST['inputTradeid']);

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO items (trade, market_hash_name, status, img, botid, time)
VALUES ('$inputTime', '$inputName', '$inputStatus', '$inputImage', '$inputBotid','$inputTime')";

if ($conn->query($sql) === TRUE) {
    echo "Success";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

1 个答案:

答案 0 :(得分:0)

你有Mojibake。在this Q&A搜索Mojibake&#39;看看是什么原因以及如何防止它。

由于您是符号,因此您可能希望在MySQL中使用utf8mb4,而不仅仅是utf8。前者包括各种4字节的表情符号。

另请参阅PHP tips。最重要的是在连接后$mysqli_obj->set_charset('utf8mb4');