简体   繁体   English

Json_encode变音符输出

[英]Json_encode umlauts output

I want to show my output in German umlauts, i got my output like this for example Fu009\\ but i need "fü" like this. 我想用德语变音符显示我的输出,我得到这样的输出,例如Fu009 \\,但是我需要这样的“fü”。

<?php
$json = (object) array(
    "salutation" = > ''.$order - > order_custom_fields['_billing_anrede'][0].
    '',
    "title" = > ''.$order - > order_custom_fields['_billing_titel'][0].
    '',
    "first_name" = > ''.$order - > order_custom_fields['_billing_first_name'][0].
    '',
    "last_name" = > ''.$order - > order_custom_fields['_billing_last_name'][0].
    '',
    "street" = > ''.$order - > order_custom_fields['_billing_address_1'][0].
    '',
    "street_number" = > ''.$order - > order_custom_fields['_billing_address_2'][0].
    '',
    "address_supplement" = > ''.$order - > order_custom_fields['_billing_company'][0].
    '',
    "zipcode" = > ''.$order - > order_custom_fields['_billing_postcode'][0].
    '',
    "city" = > ''.$order - > order_custom_fields['_billing_city'][0].
    '',
    "country" = > ''.$pais.
    '',
    "terms_accepted" = > true,
    "receiving_mails_accepted" = > ''.$email.
    '',
    "email" = > ''.$order - > order_custom_fields['_billing_email'][0].
    '',
    "lottery_accepted" = > false,
    "lottery_solution" = > "LOTTERY",
    "original_created_at" = > ''.date('Y-m-d\TH:i:sP', strtotime($order - > order_date)).
    '',


);

foreach($items as $item) {
    $sku = $wpdb - > get_var($wpdb - > prepare('SELECT meta_value FROM dsr_postmeta WHERE meta_key="_sku" AND post_id='.$item['product_id'].
        ''));
    $sku_s = explode('-', $sku);
    $camp = $sku_s[0];
    $itm_n = $sku_s[1];
    $json - > items[] = (object) array(
        "campaign_number" = > (int) $camp,
        "item_number" = > (int) $itm_n,

    );
}



array_push($json_full, $json);
echo json_encode($json_full);
?>

I'm thinking about htmlentities, or utf8 thanks for you help!! 我正在考虑htmlentities或utf8,谢谢您的帮助!

In case you are using PHP 5.4+, change echo json_encode($json_full); 如果您使用的是PHP 5.4+,请更改echo json_encode($json_full); to echo json_encode($json_full, JSON_UNESCAPED_UNICODE); echo json_encode($json_full, JSON_UNESCAPED_UNICODE);

Full list of json_encode predefined constants can be found there: http://lt1.php.net/manual/en/json.constants.php 可以在此处找到json_encode预定义常量的完整列表: http : //lt1.php.net/manual/zh/json.constants.php

Demonstration 示范

Code: 码:

<?php
$json = (object) array(
  "uml" => "fü",
);

echo json_encode($json, JSON_UNESCAPED_UNICODE) . PHP_EOL;

echo json_encode($json) . PHP_EOL;

Output: 输出:

{"uml":"fü"}
{"uml":"f\u00fc"}

您是否正确设置了字符集?

<head><meta charset="utf-8"></head>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM