Maison  >  Article  >  Java  >  Raisons et solutions pour les caractères chinois tronqués en Java

Raisons et solutions pour les caractères chinois tronqués en Java

尚
original
2019-11-25 09:42:367604parcourir

Raisons et solutions pour les caractères chinois tronqués en Java

Dans la programmation basée sur Java, nous rencontrons souvent des problèmes avec le traitement et l'affichage des caractères chinois, comme de nombreux caractères tronqués ou des points d'interrogation.

Cela est dû au fait que la méthode d'encodage par défaut dans JAVA est UNICODE et que les fichiers et bases de données couramment utilisés par les Chinois sont basés sur des encodages tels que GB2312 ou BIG5, ce problème se produit donc.

Recommandé : Tutoriel de base Java

1. Afficher le chinois sur la page Web.

Le codage utilisé par JAVA dans la transmission réseau est "ISO-8859-1", il doit donc être converti lors de la sortie, comme :

String str="中文"; str=new String(str.getBytes("GB2312"),"8859_1");

Mais si lors de la compilation du programme, L'encodage utilisé est "GB2312", et si vous exécutez ce programme sur une plate-forme chinoise, ce problème ne se produira pas, alors assurez-vous d'y prêter attention.

2. La lecture du chinois à partir des paramètres est exactement le contraire de la sortie sur la page Web, telle que :

str=new String(str.getBytes("8859_1"),"GB2312");

3. dans la base de données d'exploitation La méthode simple est la suivante : Dans le "Panneau de configuration", définissez la "Région" sur "Anglais (États-Unis)".

Si des caractères tronqués apparaissent toujours, vous pouvez également effectuer les réglages suivants :

Lors de l'obtention du chinois :

str=new String(str.getBytes("GB2312"));

Saisissez le chinois dans la base de données :

str=new String(str.getBytes("ISO-8859-1"));

4. Solution chinoise en jsp :

Dans le "Panneau de configuration", définissez la "Région" sur "Anglais (États-Unis)".

Dans la page JSP Ajouter : S'il ne peut toujours pas s'afficher normalement,

devra être converti comme suit : Par exemple :

name=new String(name.getBytes("ISO-8859-1"),"GBK");

et il n'y aura pas de problème chinois.

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:
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