ホームページ >バックエンド開発 >Python チュートリアル >Python2 で中国語名ファイルが文字化けする問題の解決策
Python2 はデフォルトでは中国語をサポートしていません。通常、この問題を解決するにはプログラムの先頭に #-*-coding:utf-8-*- を追加しますが、open() メソッドを使用してファイルを開くと、 , 中国語の名前 しかし文字化けして表示されます。
まず Python のエンコーディングの問題について説明します。Python の文字列は str と Unicode の 2 つの形式に大別されます。str の一般的に使用されるエンコーディング タイプは utf-8、gb2312、gbk などです。Python では Unicode が使用されます。エンコードの基本タイプ。 str レコードはバイト配列であり、最終的にファイルに出力または印刷される形式は、デコード エンコードによってどのようにデコードされるかに完全に依存します。Unicode は、抽象コーディングに似たシンボル セットです。 、シンボルのバイナリ コードを規定するだけで、このバイナリ コードをどのように保存するかについては規定していません。つまり、それは内部表現にすぎず、直接保存することはできないため、保存する際に保存形式を指定する必要があります。 utf-8として待機します。
Pythonのエンコード変換関数は次のとおりです:
decode(char_set) char_setデコードをUnicodeに実装するencode(char_set) Unicodeエンコードをchar_setに実装します
Pythonのドキュメントを見ると、 find:
open (filename, 'w') このメソッドでは、filename パラメータは Unicode でエンコードされたパラメータである必要があります。
以前に #-*-coding:utf-8-*- を追加して、エンコーディングを utf-8 に設定しました。このメソッドを呼び出してパラメーターを渡す場合、変数ファイル名を Unicode にデコードする必要があります。
例えば、filename='中国語.txt'の場合、open()を使用する場合、open(filename.decode('utf-8'), 'w')のように書くと、作成される中国語のファイル名には文字化け。
以上がPython2 で中国語名ファイルが文字化けする問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。