gpt4 book ai didi

php - 在 MYSQL 表中插入时主题行的值发生变化

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

实际字符串:

$sub"=?UTF-8?Q?=e2=99=a3?= Styles to =?UTF-8?Q?=e2=99=a3?="
UTF value is decoded using:
header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding('utf-8');
$subjectvalue=mb_decode_mimeheader($sub);

当我回显 $subjectvalue desired value 显示在我的浏览器上时,desired value 是:

♣ Styles to  ♣

问题:当我尝试插入 $subjectvalue 的值时,插入的值看起来像

♣ Styles to ♣

为什么插入的值在浏览器上没有回显。如果已编码,如何管理和插入主题行的值。

最佳答案

当您连接到您的 MYSQL 数据库时,尝试在连接后立即运行

SET names 'utf8'

我已经准备好了整个测试:

1) 我创建了名为 testencoding

的数据库

2) 我已经创建了示例表:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

CREATE TABLE IF NOT EXISTS `sample` (
`id` int(11) NOT NULL,
`value` varchar(255) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;


ALTER TABLE `sample`
ADD PRIMARY KEY (`id`);


ALTER TABLE `sample`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;

可以使用phpmyadmin将其导入数据库

3)

我已经创建了测试 PHP 脚本:

<?php
$sub = "=?UTF-8?Q?=e2=99=a3?= Styles to =?UTF-8?Q?=e2=99=a3?=";

header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding('utf-8');
$subjectvalue=mb_decode_mimeheader($sub);
$subjectvalue2 = '会意字 / 會 huìyìzì ';
echo $subjectvalue."<br />";
echo $subjectvalue2."<br />";


$link = mysqli_connect("localhost","root","","testencoding");
mysqli_query($link,"SET NAMES 'utf8'");
mysqli_query($link,"INSERT INTO sample(`value`) VALUES('".mysqli_real_escape_string($link,$subjectvalue)."')");
mysqli_query($link,"INSERT INTO sample(`value`) VALUES('".mysqli_real_escape_string($link,$subjectvalue2)."')");


$result = mysqli_query($link, "SELECT * FROM sample");
echo "<br /><br />Data from database<br /><br />";
while ($data = mysqli_fetch_assoc($result)) {
echo $data['id'].' '.$data['value']."<br />";
}

4) 结果是:

在 phpmyadmin 中:

Result from phpmyadmin

在 PHP 脚本中:

Result from php

总而言之,一切都按预期进行。数据按原样插入,phpmyadmin中的数据和通过php从数据库中读取的数据与插入时的数据相同

关于php - 在 MYSQL 表中插入时主题行的值发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586028/

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