gpt4 book ai didi

php - 使用 php 准备好的语句插入 mysql 记录时编码错误

转载 作者:行者123 更新时间:2023-11-29 12:37:25 25 4
gpt4 key购买 nike

我想使用准备好的语句php中插入一些波斯语单词作为mysql数据。这是我的 php 代码:

$mysqliObj = new mysqli(HOST, USER_NAME, PASSWORD, DB_NAME);

mysqli_query($connection, "SET NAMES utf-8");
$stmt = $mysqliObj->prepare("INSERT INTO slideshow (slide_url, slide_title, slide_comment) VALUES (? , ? , ?)");
$stmt->bind_param('sss', $val1, $val2, $val3);
$val1 = $slidePathName;
$val2 = $_POST['title'];
$val3 = $_POST['comment'];
$result = mysqli_stmt_execute($stmt);
$stmt->close();

插入效果很好,但在 phpMyAdmin 中显示为 آموزش اندرویش ÙØایه搜索后我发现了这一行:

mysqli_query($connection, "SET NAMES utf-8");

并设置 php header ,如下所示:

<?php header('Content-Type: text/html; charset=utf-8'); ?>

在 html 中:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

但编码仍然存在问题。任何想法都会有所帮助。谢谢

最佳答案

MySQL 中的字符集称为 utf8,而不是 utf-8。如果您的版本足够新,最好使用 utf8mb4 以获得完整的 UTF-8 兼容性。另外最好使用 mysqli_set_charset 函数,而不是 SET NAMES 查询。

关于php - 使用 php 准备好的语句插入 mysql 记录时编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com