【发布时间】:2015-09-24 14:44:51
【问题描述】:
我有一个 php 表单,用于将数据输入到数据库(phpmyadmin),我使用 SELECT 查询来显示数据库中的所有值以在 php 表单中查看。
我还有另一个 PHP 文件,用于从同一个数据库表创建 JSON。
在这里,当我输入诸如“Experiența personală”之类的外语时,保存在 DB 中的值是“ExperienÈ›a personală:”,但是当我使用选择查询以相同的 php 形式显示它时,它会正确显示“Experiența personală:” .所以数据库是正确的,现在正在使用以下 php 代码来创建 JSON
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "aaps";
// Create connection
$con=mysqli_connect($servername,$username,$password,$dbname);
// Check connection
mysqli_set_charset($con, 'utf8');
//echo "connected";
$rslt=mysqli_query($con,"SELECT * FROM offers");
while($row=mysqli_fetch_assoc($rslt))
{
$taxi[] = array('code'=> $row["code"], 'name'=> $row["name"],'contact'=> $row["contact"], 'url'=> $row["url"], 'details'=> $row["details"]);
}
header("Content-type: application/json; charset=utf-8");
echo json_encode($taxi);
?>
JSON 看起来像
[{"code":"CT1","name":"Experien\u00c8\u203aa personal\u00c4\u0192: ","contact":"4535623643","url":"images\/offers\/event-logo-8.jpg","details":"Experien\u00c8\u203aa personal\u00c4\u0192: jerhbehwgrh 234234 hjfhjerg#$%$#%#4"},{"code":"ewrw","name":"Experien\u00c8\u203aa personal\u00c4\u0192: ","contact":"ewfew","url":"","details":"eExperien\u00c8\u203aa personal\u00c4\u0192: Experien\u00c8\u203aa personal\u00c4\u0192: Experien\u00c8\u203aa personal\u00c4\u0192: "},{"code":"Experien\u00c8\u203aa personal\u00c4\u0192: ","name":"Experien\u00c8\u203aa personal\u00c4\u0192: ","contact":"","url":"","details":"Experien\u00c8\u203aa personal\u00c4\u0192: "}]
在这个“\u00c8\u203aa”中,它应该是“\u021b”(t)是错误的。
所以 pho 习惯于创建 JSON 来解决这个问题。
但是我无法确切地找到它为什么会这样。请帮忙
【问题讨论】:
-
您确定数据库中的数据正确吗?在编码之前尝试对
$taxi数组进行var_dump。 -
是的 db 是正确的,因为当我尝试对同一个 php 文件进行选择查询时,我得到了正确的日期。好的,我会这样做并让你知道
-
array(4) { [0]=> array(5) { ["code"]=> string(3) "CT1" ["name"]=> string(29) "ExperienÃ^â €ºapersonalÄÆ': " ["contact"]=> string(10) "4535623643" ["url"]=> string(30) "images/offers/event-logo-8.jpg" ["details" ]=> string(66) "ExperienÃ^›a personalÄÆ': jerhbehwgrh 234234 hjfhjerg#$%$#%#4" } [1]=> array(5) { ["code"]=> string(4) “ewrw”
-
var dump 就这样来了
标签: php mysql json encoding utf-8