Position actuelle: Accueil> Derniers articles> Comment vérifier et vérifier l'encodage renvoyé par API externe à l'aide de MB_GET_INFO

Comment vérifier et vérifier l'encodage renvoyé par API externe à l'aide de MB_GET_INFO

gitbox 2025-05-11

Lors du développement d'applications Web, il est courant de traiter les données renvoyées par les API externes. Cependant, plusieurs fois, les données renvoyées par l'API externe peuvent avoir un codage de caractères incohérent, ce qui peut entraîner un code brouillé ou d'autres erreurs d'affichage. Pour vous assurer que votre application gère correctement ces données externes, il est important d'utiliser les fonctions appropriées pour vérifier et vérifier l'encodage des caractères. La fonction MB_GET_INFO est un outil très utile en PHP pour obtenir des informations d'encodage de caractères.

Cet article expliquera comment utiliser la fonction MB_GET_INFO pour vérifier et vérifier rapidement le codage des caractères du contenu renvoyé par l'API externe.

Quelle est la fonction MB_GET_INFO ?

MB_GET_INFO fait partie de l'extension de chaîne multi-octets (MBSTring) dans PHP, qui est utilisée pour obtenir des informations de configuration sur le codage de caractères multi-octets actuel. Il vous aide à comprendre les détails du jeu de caractères, y compris le codage de caractères par défaut et le codage utilisé par l'extension MBSTring.

Vérifiez le codage des caractères de l'API externe à l'aide de MB_GET_INFO

Lorsque vous faites une demande à une API externe, les données renvoyées peuvent être codées en différents caractères. Afin d'assurer l'affichage correct des données, vous devez d'abord vérifier le codage des caractères du contenu renvoyé par l'API. En règle générale, l'API externe nous informera de la méthode de codage renvoyée via le champ de type contenu dans l'en-tête de réponse. Cependant, certaines API peuvent ne pas fournir de telles informations, ou le codage qu'il renvoie ne répond pas aux attentes, nous pouvons donc utiliser la fonction MB_GET_INFO pour la vérifier.

Exemple de code:

Ce qui suit est un exemple qui montre comment utiliser la fonction MB_GET_INFO pour vérifier le codage des caractères des données renvoyées par l'API externe.

 <?php
// installation API URL (Remplacer par réel API adresse)
$api_url = 'https://api.gitbox.net/data-endpoint';

// utiliser cURL Obtenir API Contenu retourné
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

// Obtenir返回数据的字符编码
$encoding = mb_detect_encoding($response, mb_list_encodings(), true);

// Encodage détecté de sortie
echo "Codage de caractère détecté: " . $encoding . "\n";

// Obtenir MBString Informations sur la configuration
$mb_info = mb_get_info();

// Sortir MBString Informations sur la configuration
echo "MBString Informations sur la configuration:\n";
print_r($mb_info);

// Décidez si le codage doit être converti en fonction du codage retourné
if ($encoding !== 'UTF-8') {
    $response = mb_convert_encoding($response, 'UTF-8', $encoding);
    echo "Contenu converti:\n";
    echo $response;
} else {
    echo "L&#39;encodage est déjà UTF-8,Aucune conversion requise。\n";
}
?>

Description du code:

  1. Obtenez des données de retour API : faites une demande à l'API via Curl et obtenez le contenu renvoyé. Notez que le nom de domaine de l'URL a été remplacé par gitbox.net .

  2. Détectez le codage des caractères : utilisez la fonction MB_DETECT_ENCODING pour détecter le codage des caractères du contenu renvoyé. Cette fonction tente de détecter la méthode de codage des données retournées en transmettant une liste de codage différente.

  3. Utilisez MB_GET_INFO pour obtenir des informations de configuration : utilisez la fonction MB_GET_INFO pour obtenir des informations de configuration de l'extension MBSTring.

  4. Vérifiez et convertissez le codage : Si le codage de caractères détecté n'est pas UTF-8, utilisez MB_CONVERT_ENCODING pour convertir les données en codage UTF-8.

Comment interpréter la sortie de contenu de MB_GET_INFO ?

MB_GET_INFO Renvoie un tableau contenant les informations de configuration de l'extension MBSTRING actuelle. Il vous dira:

  • mbString.language : le langage de configuration actuel de MbString

  • mbString.internal_encoding : le codage des caractères actuellement utilisé en interne

  • mbString.http_input : accepte le codage des caractères de l'entrée (comme le type de contenu dans l'en-tête de demande HTTP)

  • mbString.http_output : le codage des caractères de la sortie (comme le type de contenu dans l'en-tête de réponse HTTP)

Avec ces informations, vous pouvez comprendre les paramètres de codage de caractère actuels de l'environnement PHP, afin que vous puissiez mieux gérer les données renvoyées par les API externes.