2008/05/16
「恋するニワトリ」と読めない
by
Papasan
—
posted at
2008-05-16 20:32
last modified
2008-05-16 20:32
PapaTube の「お気に入り」をサーバーへ保存し、再度ダウンロードするとタイトルなどが\xe6\x81\...のようになってしまいます(添付画像参照)。
FireFoxからサーバーに送信した時点で変になっているようです。この\xe6\x81\...を元の文字列に戻せないのでしょうか?
- Category(s)
- PapaTube
- The URL to Trackback this entry is:
- http://papasan.org/papablog/554/tbping
(トラックバック元のページには"Papasan"や"papasan"または言及リンクの記述が必要です。)
unicode()で元に戻せます。
>>> stru=u"恋するニワトリ"
>>> stru
u'\u604b\u3059\u308b\u30cb\u30ef\u30c8\u30ea'
>>> stru.encode('utf-8')
'\xe6\x81\x8b\xe3\x81\x99\xe3\x82\x8b\xe3\x83\x8b\xe3\x83\xaf\xe3\x83\x88\xe3\x83\xaa'
>>> str_utf8=stru.encode('utf-8')
>>> str_utf8
'\xe6\x81\x8b\xe3\x81\x99\xe3\x82\x8b\xe3\x83\x8b\xe3\x83\xaf\xe3\x83\x88\xe3\x83\xaa'
>>> unicode(str_utf8,'utf-8')
u'\u604b\u3059\u308b\u30cb\u30ef\u30c8\u30ea'
[papasan@main ~]$ python
Python 2.3.6 (#1, Dec 31 2007, 15:48:53)
[GCC 4.1.2 20070626 (Red Hat 4.1.2-14)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> stru=u"恋するニワトリ"
>>> stru
u'\xe6\x81\x8b\xe3\x81\x99\xe3\x82\x8b\xe3\x83\x8b\xe3\x83\xaf\xe3\x83\x88\xe3\x83\xaa'
>>> stru.encode('utf-8')
'\xc3\xa6\xc2\x81\xc2\x8b\xc3\xa3\xc2\x81\xc2\x99\xc3\xa3\xc2\x82\xc2\x8b\xc3\xa3\xc2\x83\xc2\x8b\xc3\xa3\xc2\x83\xc2\xaf\xc3\xa3\xc2\x83\xc2\x88\xc3\xa3\xc2\x83\xc2\xaa'
>>> str_utf8=stru.encode('utf-8')
>>> str_utf8
'\xc3\xa6\xc2\x81\xc2\x8b\xc3\xa3\xc2\x81\xc2\x99\xc3\xa3\xc2\x82\xc2\x8b\xc3\xa3\xc2\x83\xc2\x8b\xc3\xa3\xc2\x83\xc2\xaf\xc3\xa3\xc2\x83\xc2\x88\xc3\xa3\xc2\x83\xc2\xaa'
>>> unicode(str_utf8,'utf-8')
u'\xe6\x81\x8b\xe3\x81\x99\xe3\x82\x8b\xe3\x83\x8b\xe3\x83\xaf\xe3\x83\x88\xe3\x83\xaa'
>>>
[root@main ~]# python
Python 2.3.6 (#1, Dec 31 2007, 15:48:53)
[GCC 4.1.2 20070626 (Red Hat 4.1.2-14)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> hoge_utf8 = 'ほげ'
>>> hoge_utf8
'\xe3\x81\xbb\xe3\x81\x92'
>>> print hoge_utf8
ほげ
>>> hoge_unicode = unicode(hoge_utf8, 'utf-8')
>>> hoge_unicode
u'\u307b\u3052'
>>> print hoge_unicode
ほげ
>>>
プリントの問題ではなく、上の部分でユニコードの文字列を作っているのだと思います。
http://d.hatena.ne.jp/kakurasan/20080516/p1