Maison > développement back-end > Problème PHP > Comment convertir le chinois en tableau JSON ou PHP

Comment convertir le chinois en tableau JSON ou PHP

PHPz
Libérer: 2023-04-18 13:54:30
original
692 Les gens l'ont consulté

En développement web, il est souvent nécessaire de renvoyer les données traitées vers le front-end sous forme de tableau JSON ou PHP. Le chinois est un type de données courant, donc la conversion du chinois en tableau JSON ou PHP est devenue un problème populaire dans le processus de développement.

Cet article vous expliquera comment convertir le chinois en tableau JSON ou PHP pour répondre aux besoins front-end.

1. Du chinois vers JSON

Le soi-disant JSON (JavaScript Object Notation), qui est une notation d'objet JavaScript, est un format d'échange de données léger. Il adopte un style de syntaxe similaire à JavaScript, facile à lire et à écrire, et également facile à analyser et à générer par les machines. JSON est un format de transfert de données très utile pour le développement Web.

En PHP, nous pouvons utiliser la fonction json_encode() pour convertir un tableau PHP en chaîne JSON. Cependant, vous devez prêter une attention particulière lors de la conversion du chinois en JSON, car la fonction json_encode() utilise le codage UTF-8 par défaut. Lorsque le jeu de caractères chinois est GBK, des caractères tronqués apparaîtront.

Par conséquent, lors de la conversion du chinois en JSON, vous devez d'abord convertir le jeu de caractères chinois en codage UTF-8, puis utiliser la fonction json_encode() pour convertir.

Le code spécifique est le suivant :

//将中文字符集转换为UTF-8
function convert_encoding($val)
{
    if(is_array($val))
    {
        foreach($val as $k=>$v)
        {
            $val[convert_encoding($k)] = convert_encoding($v);
        }
    }
    elseif(is_string($val))
    {
        if(mb_detect_encoding($val, 'UTF-8', true) === false)
        {
            $val = iconv('GBK', 'UTF-8', $val);
        }
    }
    return $val;
}

//将中文转换为JSON
function chinese_to_json($data)
{
    $data = convert_encoding($data);
    return json_encode($data, JSON_UNESCAPED_UNICODE);
}
Copier après la connexion

Dans le code ci-dessus, la fonction convert_encoding() est utilisée pour convertir le jeu de caractères chinois en codage UTF-8, et la fonction Chinese_to_json() est utilisée pour renvoyer les données converties dans Format JSON.

2. Convertir le chinois en tableau PHP

Lors de la conversion du chinois en tableau PHP, vous devez également prendre en compte le jeu de caractères chinois. Si le jeu de caractères chinois est GBK, vous devez utiliser la fonction iconv() pour le convertir en codage UTF-8 afin d'éviter les caractères tronqués.

Le code spécifique est le suivant :

//将中文字符集转换为UTF-8
function convert_encoding($val)
{
    if(is_array($val))
    {
        foreach($val as $k=>$v)
        {
            $val[convert_encoding($k)] = convert_encoding($v);
        }
    }
    elseif(is_string($val))
    {
        if(mb_detect_encoding($val, 'UTF-8', true) === false)
        {
            $val = iconv('GBK', 'UTF-8', $val);
        }
    }
    return $val;
}

//将中文转换为PHP数组
function chinese_to_array($data)
{
    $data = convert_encoding($data);
    return json_decode($data, true);
}
Copier après la connexion

Dans le code ci-dessus, la fonction convert_encoding() est utilisée pour convertir le jeu de caractères chinois en codage UTF-8, et la fonction Chinese_to_array() est utilisée pour renvoyer les données converties dans sous la forme d'un tableau PHP.

Résumé

La conversion du chinois en tableau JSON ou PHP est une opération de traitement de données courante dans le développement Web. Lorsque vous effectuez de telles opérations, vous devez faire attention au jeu de caractères chinois pour éviter les caractères tronqués. Grâce aux méthodes présentées dans cet article, vous pouvez facilement convertir des données chinoises en tableaux JSON ou PHP pour répondre aux besoins du développement front-end.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal