Maison  >  Article  >  développement back-end  >  Résoudre le problème de transcodage chinois json_encode

Résoudre le problème de transcodage chinois json_encode

angryTom
angryTomavant
2020-01-17 17:42:362775parcourir

Résoudre le problème de transcodage chinois json_encode

Lors du développement d'interfaces, il est souvent utilisé pour renvoyer des données json. Il existe une fonction json_encode en php pour convertir le tableau au format de données json, mais avez-vous déjà rencontré si le tableau. contient En chinois, les données renvoyées sont vides. Deux solutions sont écrites ci-dessous

La première méthode

Urlencode chinois, s'il existe des tableaux à plusieurs chiffres de cette manière, Problème

function encode_json($str) {  
    return urldecode(json_encode(url_encode($str)));      
}  
function url_encode($str) {  
    if(is_array($str)) {  
        foreach($str as $key=>$value) {  
            $str[urlencode($key)] = url_encode($value);  
        }  
    } else {  
        $str = urlencode($str);  
    }  
      
    return $str;  
}

La deuxième façon

Ajoutez le paramètre JSON_UNESCAPED_UNICODE Notez qu'il doit être php5.4 ou version ultérieure pour l'utiliser

json_encode($arr,JSON_UNESCAPED_UNICODE);

J'utilise. Habituellement, il y a plusieurs paramètres

$data_string=json_encode($para,JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);

J'écris cet article pour me rappeler ce problème

Cet article provient du site Web php chinois, tutoriel php colonne, bienvenue pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer