Maison  >  Article  >  Java  >  Que faire si l'URL Java est tronquée en chinois ?

Que faire si l'URL Java est tronquée en chinois ?

angryTom
angryTomoriginal
2019-11-15 09:46:183425parcourir

Que faire si l'URL Java est tronquée en chinois ?

url chinois java tronqué

1. Transcoder la chaîne : newString("xxxxx" .getBytes ("iso-8859-1"), "utf-8")

Cette méthode de transcodage présente de grands inconvénients car elle utilise le jeu de caractères spécifié pour encoder cette chaîne dans une séquence d'octets et stocke le résultat dans un nouveau tableau d'octets, puis décode le tableau d'octets résultant en utilisant le codage de caractères spécifié pour construire une nouvelle chaîne de caractères. Dans ce cas, il est possible de rencontrer une situation dans laquelle un caractère chinois ne peut pas être entièrement décodé. De cette façon, les mots précédents seront affichés normalement, mais le dernier mot risque d'être tronqué.

Cette méthode n'est donc pas recommandée.

2. Transcodez avant de transmettre les paramètres, puis transcodez-les après avoir reçu les paramètres.

Il existe deux manières :

La première :

Avant de passer les paramètres : utilisez java.net URLEncoder. encode("xxxx","utf-8"), convertit le chinois en caractères hexadécimaux.

Après avoir reçu les paramètres : utilisez java.net.URLDncoder.decode("xxxx", "utf-8") pour convertir les caractères hexadécimaux en chinois.

Une chose à noter à propos de cette méthode est qu'après avoir utilisé l'encodage, des caractères spéciaux apparaîtront. À ce stade, vous devez remplacer les caractères spéciaux par l'hexadécimal correspondant. Parce que les caractères spéciaux sont également tronqués lorsqu'ils sont transmis en tant que paramètres dans le chemin de l'URL.

Deuxième type :

Avant de passer les paramètres : encodeURI("xxxx").

Après avoir reçu les paramètres : utilisez java.net.URLDncoder.decode("xxxx", "utf-8") pour convertir les caractères hexadécimaux en chinois.

Ce qu'il faut noter avec cette méthode, c'est qu'après avoir utilisé encodeURI pour transcoder, des caractères spéciaux apparaîtront à ce moment-là, les caractères spéciaux doivent également être transcodés, utilisez donc encodeURI deux fois, c'est-à-dire : <.>

encodeURI(encodeURI("xxxx")).

Ces deux méthodes de transcodage sont très utiles, il est donc fortement recommandé à tout le monde de les utiliser.

Utilisation spécifique :

1. Client :

url=encodeURI(url);

Serveur :

String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);

2. 🎜>Serveur :

url=encodeURI(encodeURI(url)); //用了2次encodeURI

site Web chinois php, un grand nombre de

tutoriels d'introduction à Java

gratuits, bienvenue pour apprendre en ligne !

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