как читать японские символы из запроса? - PullRequest
1 голос
/ 11 ноября 2011

У меня есть следующий URL, который уже закодирован для передачи японских символов в адресную строку браузера.

http://localhost:8000/service/social/acc?auth=true&body=%7B%22site%22%3A%22twitter%22%2C%22account%22%3A%
22twitter_1%22%2C%22name%22%3A%22%93X%95%DC1%22%7D

Я могу получить значение из запроса, но оно искажено или содержит текст мусора.

Есть ли какие-то особые вещи, которые нужно сделать, чтобы иметь возможность читать японские символы из объекта запроса?

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

Я пытаюсь это. «Японский» означает «магазин» на японском языке.

>In [1]: from urlparse import *
>
>In [2]: url = urlparse('http://localhost:8000/service/social/acc?auth=true&body=%7B%22site%22%3A%22twitter%22%2C%22account%22%3A%22twitter_1%22%2C%22name%22%3A%22%93X%95%DC1%22%7D')
>
>In [3]: url
>Out[3]: ParseResult(scheme='http', netloc='localhost:8000', path='/service/social/acc', params='', query='auth=true&body=%7B%22site%22%3A%22twitter%22%2C%22account%22%3A%22twitter_1%22%2C%22name%22%3A%22%93X%95%DC1%22%7D', fragment='')
>
>In [4]: parse_qs(url.query)
>Out[4]:
{'auth': ['true'],
 'body': ['{"site":"twitter","account":"twitter_1","name":"\x93X\x95\xdc1"}']}
>
>In [5]: name = "\x93X\x95\xdc1"
>
>In [5]: print name.decode('shift-jis')
>
>店舗1
1 голос
/ 11 ноября 2011

Сначала вам нужно закодировать данные ... скажем, в utf-8.Затем добавьте эти данные в URL.Затем на стороне сервера получите данные из URL, а затем декодируйте их обратно.

Спасибо.

...