Comment résoudre les caractères chinois illisibles après la conversion JSON en CSV

Trois étapes suffisent pour localiser et corriger les caractères chinois illisibles après une conversion JSON en CSV : confirmer que l'encodage d'export est UTF-8, ajouter un BOM au fichier, puis ouvrir via l'importation. Cet article explique aussi comment effectuer une conversion JSON en CSV, les différences entre les deux formats, le traitement des gros fichiers, les scénarios de débogage d'API et la solution mobile sans installation, avec 5 questions fréquentes.

· · 7 minutes · 22 Vues · 15 sections
Sommaire
  1. Comment résoudre les caractères chinois illisibles après la conversion JSON en CSV
  2. Pourquoi les caractères illisibles apparaissent
  3. Comment résoudre les caractères chinois illisibles après la conversion JSON en CSV
  4. Comment effectuer une conversion JSON en CSV
  5. Différences entre JSON et CSV
  6. Traitement des fichiers volumineux en conversion JSON vers CSV
  7. Débogage d'API avec conversion JSON en CSV
  8. Conversion JSON en CSV sur mobile sans installation
  9. Questions fréquentes
  10. Le BOM est ajouté mais les caractères restent illisibles
  11. Le fichier s'ouvre correctement avec le Bloc-notes mais mal avec Excel
  12. Le chinois devient \u4e2d\u6587
  13. Un champ de type tableau est converti en une chaîne JSON
  14. Le nombre de lignes augmente après conversion
  15. Conclusion

Comment résoudre les caractères chinois illisibles après la conversion JSON en CSV

Après une conversion JSON en CSV, les caractères chinois illisibles ont généralement pour cause un encodage incompatible : lors de l'export, les données sont écrites avec l'encodage par défaut du système, mais Excel interprète les octets UTF-8 comme du GBK. La solution consiste d'abord à confirmer que l'encodage d'export est UTF-8, puis à faire en sorte qu'Excel le reconnaisse correctement.

La méthode la plus simple consiste à ajouter un BOM UTF-8 (marque d'ordre des octets) au CSV ; Excel le détecte et l'ouvre automatiquement en UTF-8. Si vous utilisez un outil exécuté localement dans le navigateur, cette option est généralement disponible dans les options d'export.

Pourquoi les caractères illisibles apparaissent

Le CSV est un fichier texte brut qui ne contient pas de déclaration d'encodage. L'affichage correct du chinois dépend de l'utilisation du même encodage côté écriture et côté lecture.

Si l'écriture se fait en UTF-8 et la lecture en GBK, on obtient des «锟斤拷» ou une série de points d'interrogation. L'inverse produit également des erreurs.

Il arrive aussi que les données soient correctes, mais qu'Excel devine mal l'encodage lors d'un double-clic. La lecture avec le Bloc-notes ou du code fonctionne normalement : il s'agit d'un problème d'affichage, pas d'une corruption des données.

Comment résoudre les caractères chinois illisibles après la conversion JSON en CSV

Procédez dans l'ordre ci-dessous ; dans la plupart des cas, les deux premières étapes suffisent.

  1. Confirmez que l'encodage d'export est UTF-8. Dans les options d'export, cherchez « Encodage » ou « Encoding » et choisissez UTF-8. Si seule l'option « UTF-8 with BOM » est disponible, privilégiez-la.
  2. Ajoutez un BOM. Si l'export produit de l'UTF-8 sans BOM, enregistrez le fichier avec un éditeur de texte en « UTF-8 avec BOM », ou faites exporter directement une version avec BOM par l'outil.
  3. Utilisez l'importation pour ouvrir le fichier. Dans Excel, passez par « Données - À partir d'un texte/CSV », puis choisissez manuellement l'encodage UTF-8 au lieu de double-cliquer sur le fichier.
  4. Vérifiez l'encodage du JSON d'origine. La spécification JSON exige UTF-8, mais certaines API renvoient des flux d'octets encodés en GBK. Confirmez d'abord l'encodage des données source, puis décidez de la méthode de conversion.
  5. Vérifiez qu'il ne reste pas d'échappements dans les valeurs des champs. Lorsque le chinois est écrit sous forme de séquences d'échappement Unicode comme \u4e2d\u6587, il faut d'abord les décoder avant l'export, sinon elles s'affichent littéralement.

Après avoir traité l'encodage, si le CSV s'affiche encore anormalement, ouvrez le fichier avec un visualiseur hexadécimal et vérifiez si les trois premiers octets sont EF BB BF. Si oui, le BOM a bien été écrit.

Comment effectuer une conversion JSON en CSV

Le processus de base se déroule en trois étapes : lire le JSON, aplatir la structure, écrire le CSV.

JSON autorise les objets et tableaux imbriqués, tandis que le CSV n'accepte qu'un tableau à deux dimensions. La première étape consiste donc à déplier les niveaux d'imbrication en noms de colonnes. Par exemple, {"user":{"name":"张三"}} devient le nom de colonne user.name.

L'approche courante est la suivante :

  1. Considérer chaque objet du tableau JSON comme une ligne.
  2. Parcourir tous les objets et collecter toutes les clés rencontrées comme en-têtes.
  3. Remplir les clés manquantes par une chaîne vide pour maintenir l'alignement des colonnes.
  4. Si une valeur contient une virgule, un guillemet ou un saut de ligne, l'entourer de guillemets doubles et échapper les guillemets internes.

Vous pouvez trouver dans /tools des outils exécutés localement dans le navigateur, sans envoi de données vers un serveur. La page de l'outil spécifique est disponible ici : Outil de conversion JSON en CSV.

Différences entre JSON et CSV

Comprendre ces différences aide à déterminer ce qui sera perdu lors de la conversion.

  • Structure : JSON prend en charge les objets et tableaux imbriqués, CSV ne prend en charge que les tableaux plats à deux dimensions.
  • Types : JSON dispose des types chaîne, nombre, booléen, null, etc., tandis que le CSV est entièrement textuel.
  • Encodage : la spécification JSON exige UTF-8, le CSV n'impose rien.
  • Taille : JSON, avec ses noms de clés et ses accolades, est généralement plus volumineux qu'un CSV équivalent.
  • Usage : JSON convient au transport via API, CSV convient à la consultation tabulaire et à l'import en masse.

Le coût de la conversion est que les informations imbriquées sont aplaties. Les champs de type tableau sont généralement sérialisés en chaîne JSON insérée dans la cellule, ou répartis sur plusieurs lignes.

Traitement des fichiers volumineux en conversion JSON vers CSV

Lorsque le fichier dépasse plusieurs dizaines de mégaoctets, le charger entièrement en mémoire peut facilement bloquer l'onglet du navigateur.

Une stratégie plus robuste consiste à traiter en flux : lire par blocs et écrire ligne par ligne. Ainsi, l'occupation mémoire ne dépend que de la taille d'une ligne et n'augmente pas avec le fichier.

Quelques points supplémentaires :

  • Effectuez d'abord un balayage pour collecter toutes les clés, afin d'éviter un décalage des colonnes si de nouvelles clés apparaissent plus tard.
  • Désactivez l'aperçu en temps réel lors de l'export de gros fichiers pour réduire la charge de rendu.
  • Exportez par lots en plusieurs CSV, plus faciles à ouvrir qu'un seul fichier très volumineux.
  • Si la mémoire du navigateur reste insuffisante, utilisez un outil en ligne de commande.

Les outils exécutés localement dans le navigateur sont limités par la mémoire de l'onglet lors du traitement de gros fichiers ; cela dépend de l'environnement, pas d'un défaut de l'outil. Pour les fichiers très volumineux, il est conseillé de passer à un script local.

Débogage d'API avec conversion JSON en CSV

Lors du débogage d'API, il est souvent nécessaire de convertir rapidement le JSON renvoyé en tableau pour vérifier les champs.

L'important ici est de préserver la structure d'origine, sans se précipiter pour aplatir. Enregistrez d'abord la réponse dans un fichier .json, vérifiez l'encodage et l'intégrité, puis convertissez.

Quelques habitudes utiles :

  • Enregistrez la réponse explicitement en UTF-8 pour éviter toute réécriture en cours de route.
  • Vérifiez d'abord si le niveau supérieur est un objet ou un tableau. Un objet unique doit être encapsulé dans un tableau avant conversion.
  • Surveillez les champs de pagination pour éviter de ne convertir qu'une seule page de données.
  • Lorsque les noms de champs contiennent des points ou des crochets, attention aux conflits de noms de colonnes.

Après conversion, comparez les noms de colonnes avec la documentation de l'API pour détecter rapidement les champs manquants ou les changements de nommage.

Conversion JSON en CSV sur mobile sans installation

Sur mobile, traiter du JSON avec une application est souvent plus fastidieux qu'avec une page web.

Les outils exécutés localement dans le navigateur sont également utilisables sur mobile, sans installation d'application ni envoi de données par le réseau. Il suffit d'ouvrir la page, de coller ou de sélectionner un fichier, puis d'exporter.

Les limites sur mobile concernent principalement la mémoire et le sélecteur de fichiers. Il est déconseillé de traiter des fichiers très volumineux sur mobile. Après export, vous pouvez ouvrir le fichier avec une application de tableur ; en cas de caractères illisibles, vérifiez également l'encodage en priorité.

Questions fréquentes

Le BOM est ajouté mais les caractères restent illisibles

Vérifiez d'abord que le BOM a bien été écrit en ouvrant le fichier avec un visualiseur hexadécimal pour voir si les premiers octets sont EF BB BF. S'il est bien présent et que le problème persiste, cela signifie que la cause n'est pas le BOM mais l'encodage de la source de données. Revenez au JSON d'origine pour confirmer qu'il est bien en UTF-8.

Le fichier s'ouvre correctement avec le Bloc-notes mais mal avec Excel

Cela signifie que les données sont bonnes et qu'Excel a mal deviné l'encodage. Utilisez « Données - À partir d'un texte/CSV » pour importer en spécifiant manuellement UTF-8, au lieu de double-cliquer sur le fichier.

Le chinois devient \u4e2d\u6587

Il s'agit de séquences d'échappement Unicode, pas de caractères illisibles. Il faut les décoder avant la conversion pour restaurer les caractères réels, puis écrire le CSV.

Un champ de type tableau est converti en une chaîne JSON

C'est normal. Le CSV n'a pas de type tableau ; il ne peut que sérialiser le tableau en chaîne dans une cellule. Si vous devez le déplier, il faut le répartir manuellement sur plusieurs lignes.

Le nombre de lignes augmente après conversion

C'est probablement dû à des champs de type tableau dépliés en plusieurs lignes. Vérifiez le traitement des tableaux dans les paramètres de conversion et choisissez « sérialiser en chaîne » ou « déplier en plusieurs lignes ».

Conclusion

Les caractères chinois illisibles se résolvent presque toujours en unifiant l'encodage, de préférence UTF-8 avec BOM. La réponse à « comment résoudre les caractères chinois illisibles après la conversion JSON en CSV » revient à faire utiliser le même encodage à l'écriture et à la lecture, et à indiquer à Excel lequel utiliser. Pour le choix de l'outil, privilégiez ceux qui s'exécutent localement dans le navigateur : les données ne quittent pas la machine, ce qui rend le débogage et la conversion plus sûrs.

22 Vues ·

Related Tools

Try these practical tools related to this article

Voir tout

Découvrez plus d'outils en ligne

Traitement de texte gratuit, outils PDF, rédaction IA et plus encore