【发布时间】:2011-06-14 12:23:55
【问题描述】:
我正在使用 jQuery json_encode 以表单的数据形式写入数据库。
但是,数据库中的数据会损坏。
$db->query("SET NAMES utf8");
$kelime = array("Merhaba","Dünya");
$bilgi = json_encode($kelime);
$incelemeEkle = "
INSERT INTO incelemeRapor SET
bigData = '".$bilgi."'
";
$db->query($incelemeEkle);
数据库表架构;
CREATE TABLE `incelemeRapor` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bigData` text COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
MySQL 插入的示例数据;
["Merhaba","Du00fcnya"]
【问题讨论】:
-
实际的PHP文件保存为什么编码?
-
根据 MySQL 文档,当使用 SET NAMES 时,字符集用引号括起来,您似乎没有,因此您可能实际上没有设置 utf8。
-
@Jamie Taniguchi:不,可以这样使用