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

Solution à l'URL tronquée en Java

Libérer: 2019-12-03 10:29:28
original
2566 Les gens l'ont consulté

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”))。
Copier après la connexion

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);
Copier après la connexion

Serveur :

String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);
Copier après la connexion

2. >

url=encodeURI(encodeURI(url)); //用了2次encodeURI
Copier après la connexion

java : décodage des caractères

String linename = request.getParameter(name);
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal