由于某种原因,项目"description"返回NULL以下代码:
<?php
include('db.php');
$result = mysql_query('SELECT * FROM `staff` ORDER BY `id` DESC LIMIT 2') or die(mysql_error());
$rows = array();
while($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
echo json_encode($rows);
?>
Run Code Online (Sandbox Code Playgroud)
这是我的数据库的架构:
CREATE TABLE `staff` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` longtext COLLATE utf8_unicode_ci,
`description` longtext COLLATE utf8_unicode_ci,
`icon` longtext COLLATE utf8_unicode_ci,
`date` longtext COLLATE utf8_unicode_ci,
`company` longtext COLLATE utf8_unicode_ci,
`companyurl` longtext COLLATE utf8_unicode_ci,
`appurl` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)
以下是页面上的回显: …
我从包含德语变音符号的数据库中获取数据时遇到了麻烦.基本上,每当我收到包含变音符号的数据时,它都是带有询问标记的黑色方块.我把它解决了
mysql_query ('SET NAMES utf8')
Run Code Online (Sandbox Code Playgroud)
在查询之前.
问题是,一旦我json_encode(...)在查询结果上使用,包含变音符号的值就会得到null.我可以通过直接在浏览器中调用php文件来看到这一点.除了在编码到JSON之前替换这些字符并在JS中解码它之外还有其他解决方案吗?