Maison >Java >JavaBase >Solution à l'URL tronquée en Java

Solution à l'URL tronquée en Java

尚
original
2019-12-03 10:29:282563parcourir

Solution à l'URL tronquée en Java

Solution pour les URL tronquées en Java : (Recommandé : Tutoriel vidéo Java)

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 coder cette chaîne en 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 String.

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 y a deux manières de procéder :

La première :

Avant de passer les paramètres : utilisez java.net.URLEncoder.encode("xxxx","utf- 8 ”), convertissez 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 dans cette méthode, c'est qu'après avoir utilisé encodeURI pour transcoder, des caractères spéciaux apparaîtront. À ce moment, les caractères spéciaux doivent ê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. >

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

java : décodage des caractères

String linename = request.getParameter(name);

Pour plus de connaissances sur Java, veuillez faire attention à la colonne

Tutoriel de base Java

.

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