从 latin1 编码 json 数组
encode json array from latin1
所以我是 php 的新手,我的数组有问题。
"基本上我有一个包含 5 个字段的数组。
现在数据部分是 latin1-german。但这让 php 输出 "null"。我如何解码数组,使 php return 成为正确的文本?"
编辑:
所以我更改了代码(JSON_PRETTY_PRINT 使它 return 什么都没有)。
但问题仍然存在。 "ä" 和 "ü" 等特殊字符仍然使它成为 return ":null".
// get all products from products table
$result = mysql_query("SELECT *FROM silberhell_app") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["products"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array();
$product["pid"] = $row["pid"];
$product["name"] = $row["name"];
$product["kategorie"] = $row["kategorie"];
$product["beschreibung"] = $row["beschreibung"];
$product["bild"] = $row["bild"];
$product["preis"] = $row["preis"];
array_map($product, "utf8_encode"); // encode array values
$products[] = $product; // insert product into array
}
$data = array(
//'success' => 1,
'products' => $products
);
}
echo json_encode($data); // make it slightly more readable
?>
稍微清理了一下,现在应该可以工作了:
$products = array();
while ($row = mysql_fetch_array($result)) {
$product = array();
$product["pid"] = $row["pid"];
[...]
array_map("utf8_encode", $product); // encode array values
$products[] = $product; // insert product into array
}
$data = array(
'success' => 1,
'products' => $products
);
echo json_encode($data, JSON_PRETTY_PRINT); // make it slightly more readable
所以我是 php 的新手,我的数组有问题。
"基本上我有一个包含 5 个字段的数组。 现在数据部分是 latin1-german。但这让 php 输出 "null"。我如何解码数组,使 php return 成为正确的文本?"
编辑: 所以我更改了代码(JSON_PRETTY_PRINT 使它 return 什么都没有)。 但问题仍然存在。 "ä" 和 "ü" 等特殊字符仍然使它成为 return ":null".
// get all products from products table
$result = mysql_query("SELECT *FROM silberhell_app") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["products"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array();
$product["pid"] = $row["pid"];
$product["name"] = $row["name"];
$product["kategorie"] = $row["kategorie"];
$product["beschreibung"] = $row["beschreibung"];
$product["bild"] = $row["bild"];
$product["preis"] = $row["preis"];
array_map($product, "utf8_encode"); // encode array values
$products[] = $product; // insert product into array
}
$data = array(
//'success' => 1,
'products' => $products
);
}
echo json_encode($data); // make it slightly more readable
?>
稍微清理了一下,现在应该可以工作了:
$products = array();
while ($row = mysql_fetch_array($result)) {
$product = array();
$product["pid"] = $row["pid"];
[...]
array_map("utf8_encode", $product); // encode array values
$products[] = $product; // insert product into array
}
$data = array(
'success' => 1,
'products' => $products
);
echo json_encode($data, JSON_PRETTY_PRINT); // make it slightly more readable