Pythonの中国語文字化け問題まとめ

巴扎黑
リリース: 2016-12-03 10:57:16
オリジナル
1378 人が閲覧しました

python2の漢字化け問題を一気にわかりやすく解説。
初心者がPython2の文字化けを心配しないようにするために!

詳細については、DIAM Company の Python トレーニング クラスの教師である Brother Huang を参照してください。
1. 作成するコード モジュールはエンコーディングを指定する必要があります
コードでコーディングが指定されていない場合、Python はデフォルトですべての文字を ASCII に設定します。コード、
ASCII コードのみ 256 文字をサポートします。ASCII コードは中国語をサポートしていないため、エラーが報告されます。
そのため、コードの前に #coding:utf-8 または #coding:gbk を記述する必要があります
ただし、一般的には #coding:utf-8 を記述します

2. python2 内のすべてのエンコーディングは Unicode に統一されています
Unicode はすべての言語を処理できます世界のキャラクター。
utf-8 は Unicode の実装形式なので、コードの前に #coding:utf-8 を記述する必要があります

3. エンコーディング変換
Python2 の内部エンコーディングは
他のエンコーディング decode() であることに注意してください。が unicode の場合、Encoding encode() は指定したエンコーディングになるため、文字化けは発生しません。

4. Webページを収集する場合
コード指定 #coding:utf-8
Webページのエンコードがgbkの場合
html = html.decode('gbk').encode( 'utf-8')

5. コードの前に #coding:gbk を記述することもできますが、コード ファイルが gbk に保存されていることも確認する必要があります。この問題は Windows で発生します。

6. 辞書のキーまたは値の漢字に関する問題
#coding:utf-8
dict1 ={1:'Python 週末トレーニング クラス',2:'相談 010-68165761 QQ: 1465376564'}

print dict1
# この出力では中国語の文字は表示されませんが、中国語の他のエンコーディングが表示されます

dict2 ={1:'Python ビデオ トレーニング クラス',2:'相談 010-68165761 QQ: 1465376564'}
dict2 のキー:
print dict2[key ]

7. Unicode 中国語文字エンコーディングがテキスト ファイルに書き込まれます
テキスト ファイルのエンコーディングに従って変換する必要があります
encode('utf-8') または encode('gbk') が可能

概要: エラー メッセージに表示されるすべてのエラー エラーには「ASCII」が含まれており、中国語の文字エンコーディングが指定されていないことを意味します。


----文字列のエンコードタイプを取得します---------------------- --------- ------------------------
>>> date = urllib2.urlopen("http ://www.baidu.com ")
>>> d = date.read()
>>> chardet をインポート
>>>chardet.detect(d)
{'confidence ': 0.99、'エンコーディング': 'utf-8'}

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート