Maison > Article > développement back-end > Explication détaillée des méthodes d'encodage Python urlencode et d'épissage d'URL
Le paramètre d'urlencode doit être Dictionary
name2=bbs.pythontab.com&name1=www.pythontab.com
équivaut à l'épissage de deux paramètres d'url. similaire à http_build_query() en PHP, voici comment l'utiliser dans la plupart des PHP. Si vous êtes intéressé, vérifiez-le vous-même.
Fonction urlencode ne changera pas l'encodage d'origine des paramètres entrants, ce qui signifie que l'encodage des paramètres de publication ou d'obtention doit être ajusté avant d'appeler .
Problème : simulez maintenant les requêtes vers Google et Baidu. Étant donné que Baidu utilise le codage gb2312 et que Google utilise le codage utf8, les valeurs urlencode des paramètres chinois soumis à l'URL par les deux sites sont différentes. " Site Web chinois PythonTab " à titre d'exemple :
# coding: UTF-8 str = u'PythonTab中文网' str = str.encode('gb2312') d = {'name':str} q = urllib.urlencode(d) print q
Résultat :
name=PythonTab%D6%D0%CE%C4%CD%F8
Remarque : Le paramètre de l'urlencode doit être Dictionnaire
L'urlencode dans django est similaire, la méthode est la suivante :
from django.utils.http import urlquote a = urlquote('PythonTab中文网') print a
Obtenir l'encodage GBK des caractères chinois
En fait, vous pouvez utiliser la fonction de citation d'urllib pour convertir le chinois dans l'URL et convertir le chinois en codage GBK. L'encodage résultant est une URL conforme à la norme URI.
>>> import urllib >>> a = "PythonTab中文网" >>> a 'PythonTab\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91' >>> urllib.quote(a) 'PythonTab%E4%B8%AD%E6%96%87%E7%BD%91' >>>
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!