Linuxは、方法設定ファイル・エンコーディングのPYTHONのファイルエンコーディング形式UTF-8エンコーディングの問題文字化け要約PYTHONを表示します

ビューファイルのエンコーディング
のLinuxでファイルを表示するには、以下の方法により符号化することができます:
1.
Vimは直接ファイルのエンコーディングを表示することができ
ます。setファイル・エンコーディング
ファイルのエンコード形式を表示するために。
あなただけの他の形式のファイルを表示するか、Vimの問題で文字化けしたファイルを参照してくださいコーディング解決したい場合は、できる
〜/ .vimrcとファイルに次の行を追加します。

セットエンコーディングは= UTF-8 fileencodings =のUCS-BOM、UTF-8、CP936

このように、あなたはVimは自動的にファイルのエンコーディングを認識させることができます(自動的にUTF-8を認識またはGBKファイルをエンコードされた)に基づいて、実際には、Latin-1のコーディング見つけコーディングなしに適している場合(ASCII)で、fileencodingsを提供しようと、コードリストオープン。
2. encaファイルのエンコーディング表示する(このコマンドは、システムにインストールされていない場合は、-y encaインストールをインストールするにsudo yumを使用することができます)
$ファイル名ENCAの
ファイル名:ユニバーサル変換形式8ビットを、UTF-8
CRLF行終端は
、それが重要であることに留意すべきです、 :認識があるだろう時に、いくつかのGBKのエンコーディングを識別encaファイルは、非常に良いではありません
認識できないエンコーディング

トランスコーディング・ファイル
のVimファイルにおいてそのようなUTF-8形式にファイルを変換するように、ダイレクトコンバージョンをコード
:設定ファイル・エンコーディング= UTF-8

以下のようなGBKする2 enconv変換ファイルのエンコーディングは、UTF-8エンコーディングにファイルをエンコードさ
enconv -L zh_CNに-x UTF-8ファイル名を

3.次のようにiconvの変換、のiconvコマンドのフォーマットは次のとおり
のiconv -f符号-tエンコーディングINPUTFILE
ようGBKエンコーディングにUTF-8でエンコードされたファイルを変換するなど
のiconv -f GBK -t UTF-8ファイルfile1 -o FILE2

この記事のアドレス:http://www.yaronspace.cn/blog/index.php/archives/523

文字化けの理由:
あなたのファイルはUTF-8として宣言され、そしてそれは、ソースファイルのUTF-8エンコーディングで保存する必要がありますので。しかし、ローカルWindowsのデフォルトエンコーディングはそれがGBKコーディング、そのコンソールで、CP936であります

ダイレクトプリントUTF-8文字列はもちろん歪みです。 

溶液:
OKトランスコーディングを使用して印刷コンソールで、そうライトを印刷:
。印刷myname.decode(「UTF-8」)(「GBK」)をコードする 

より一般的なアプローチは次のようになります。
インポートSYS
= sys.getfilesystemencodingタイプ()
印刷myname.decode( 'UTF-8')。(タイプ)をコード

 

 

 

最近の使用Pythonはいくつかのオンラインデータをつかむ、我々はコーディングの問題に遭遇しました。頭痛は、使用する溶液をまとめます。

  •     Linuxのコマンド・セット・ファイル・エンコーディングの下で​​のvimのViewファイルのエンコーディング
  •     強力なパッケージchardetでPythonコードの検出は、非常にシンプルな使用します。chardetをインストールPIP Linuxを使用して簡単なインストール

    

1
2
3
4
import  chardet
=  open ( 'file' , 'r' )
fencoding = chardet.detect(f.read())
print  fencoding

  出力形式{:0.96630842899499614、「エンコーディング」:「信頼」「2312」を} fencoding、確率のみ特定のコードか否かが判断されます。より正確な結果。STR型入力パラメータ。

  •       PythonのSTRを学ぶことができる符号化した後の符号化変換デコード及びエンコードを使用して達成します。

      これは一般的なフローであるSTR STRデコードを使用して符号化方法と、Unicode文字列型にそれを復号化し、特定の符号化の使用は、変換するための特定の符号化Unicode文字列型をエンコードする方法。strのPythonでUnicodeと以下のように、二つの異なるタイプに属します。

     

  •  一般的には、ウィンドウのデフォルトのエンコーディングのGBK、Linuxのデフォルト・エンコーディングUTF8
  •  Pythonプログラミングコーディングシステム、Pythonコードの概念、ファイルのエンコーディング。

     システムコード:ソースコードを書くためのデフォルトのエンコーディングエディタ。これは、ソースファイルがワード方法に従ってバイナリコードストリームに符号化された内のコンテンツのすべてを表します。ディスクに保存されました。Linuxでlocaleコマンドによって表示します。

     Pythonのコーディング:Pythonで提供手段をデコードします。設定されていない場合は、、Pythonのデフォルトは、ASCIIデコードモードです。中国は、Pythonのソースコードファイルを表示されない場合は、この場所はセットが問題になることはありません方法です。

     設定方法: - - *コード#:ソース・ファイルの先頭には(それは最初の行でなければならない)UTF-8 - * - 、復号化方式は、UTF-8であるソースファイルを提供または

1
2
3
import  sys
reload (sys)
sys.setdefaultencoding( 'UTF-8' )

     ファイルのエンコーディング:テキストのエンコーディング、Linuxのvimの使用セットファイル・エンコーディングビューの下で。

    

  •     その理由は、出力歪みは、一般に、システムデコーダのように符号化されません。

    例えばプリントS、S型STRのために、Linuxシステムは、システムのデフォルトエンコーディングUTF8エンコードされた出力がUTF8としてエンコードされるべき前です。sがGBK符号化である場合にはこれを出力する必要があります。印刷s.decode( 'GBK')。出力中国語( 'UTF8')をコードします。

    同じウィンドウの場合に続いて、ウィンドウのデフォルトのエンコーディングは、GBKの出力の前にエンコードする必要があり、GBKのエンコーディングです。

  •     PythonのUnicodeの一般的な処理プロセスの種類。このようにエンコードする前に直接出力することができます。
 
 
 

1. http://blog.sina.com.cn/s/blog_40e1ba640102wm26.htmlを回し

2.http://www.cnblogs.com/joeyupdo/archive/2013/03/03/2941737.html
以下にに記載のリンク2のコピーである
Vimの内部で使用される文字符号化、バッファのVimを含む:(1)符号化(バッファ)、メニューテキスト、テキストメッセージなど。マニュアルのみの.vimrcでその値を変更することであることをお勧めします、実際には、それはその値を変更しているように見えるだけで、あなたの.vimrcに理にかなっています

(2)ファイル・エンコーディング:ファイルの現在の文字エンコーディングでのVimエディタ、Vimはファイルを保存するにも、この文字エンコーディングとしてファイルを保存します(新規文書が真であるかどうか)、インターネットが導入されたが、私はそれを行いますUTF-8での.vimrcには効果がないように見えるように、あなたはファイルのvimを開いたときにのみ有効になります手動で設定することができ、私はなぜ知らない定義されました。

(3)fileencodings:Vimが開始され、最終的な検出された文字エンコーディングに設定ファイル・エンコーディングオープンするファイルの文字エンコーディングを検出するために1つずつ記載されている文字エンコーディングに従います。だから、リストの一番上にUnicodeエンコーディングに、最終的な表面にラテンlatin1のエンコーディングが最適です。

(4)termencoding:Vimの仕事の終わり(またはコンソールウィンドウWindowsの)文字エンコーディング。このオプションは、私たちの共通のGUIモードはWindowsで使用できないのgvimが、Vimのコンソールモードの観点からコンソールは、Windowsのコードページであり、通常我々はそれを変更する必要はありません。

システムロケールがUTF-8(Linuxシステムのデフォルトロケールのフォームのロット)で、編集した文書は、GB2312かGBKの形態である(Windowsのメモ帳
もデフォルトのフォームとして保存され、デフォルトの保存形式は、ほとんどの編集者、その最も一般的な)は、端末型UTF-8(すなわち、クライアント・ソフトウェアは、Unicodeのようなパテであると仮定する)
文書オープンVIM、エンコーディング= UTF-8(ロケールが決定される)、ファイル・エンコーディング= LATIN1(オートエンコーダが不正確決意機構によって引き起こされる)、termencoding =文字化けとして(変換期間デフォルトのエンコードなし)、空、ファイルが表示されます。
解決策1:まず、ファイル・エンコーディングを修正するにはCP936であるか(両方が、別の名前のような)EUC-CN、法が修正されていないことに注意してください:SETの
ファイル・エンコーディング= CP936を、それだけでCP936としてファイルを保存しています、正しい方法がありますファイルエンコーディングCP936するリロード:編集
電子++ ENC = CP936:++ = ENCのCP936を、と略記することができます。

ファイルを閉じた後でもこれを行うには、再オープン、もう一度、もう一度それを設定します。その理由は、(復号化は、私が理解し、コールするかどうかわからない)正しくデコードしないで、その結果、ファイルのエンコーディングを認識しない、最終的な分析のvimで文字化けします。だから、私は、fileencodingsでの.vimrcにする場合、ファイルはUTF-8をデコードしようとするいくつかの方法、設定ファイル・エンコーディング= UTF-8セットfileencodingsの=のUCS-BOM、UTF-8、CP936で非常に成功しなかったのvimを伝えると同等のものを設定します、LATIN1。これは通常の開き

文字化けの理由:
あなたのファイルはUTF-8として宣言され、そしてそれは、ソースファイルのUTF-8エンコーディングで保存する必要がありますので。しかし、ローカルWindowsのデフォルトエンコーディングはそれがGBKコーディング、そのコンソールで、CP936であります

ダイレクトプリントUTF-8文字列はもちろん歪みです。 

溶液:
OKトランスコーディングを使用して印刷コンソールで、そうライトを印刷:
。印刷myname.decode(「UTF-8」)(「GBK」)をコードする 

より一般的なアプローチは次のようになります。
インポートSYS
= sys.getfilesystemencodingタイプ()
印刷myname.decode( 'UTF-8')。(タイプ)をコード

 

 

 

最近の使用Pythonはいくつかのオンラインデータをつかむ、我々はコーディングの問題に遭遇しました。頭痛は、使用する溶液をまとめます。

  •     Linuxのコマンド・セット・ファイル・エンコーディングの下で​​のvimのViewファイルのエンコーディング
  •     強力なパッケージchardetでPythonコードの検出は、非常にシンプルな使用します。chardetをインストールPIP Linuxを使用して簡単なインストール

    

1
2
3
4
import  chardet
=  open ( 'file' , 'r' )
fencoding = chardet.detect(f.read())
print  fencoding

  出力形式{:0.96630842899499614、「エンコーディング」:「信頼」「2312」を} fencoding、確率のみ特定のコードか否かが判断されます。より正確な結果。STR型入力パラメータ。

  •       PythonのSTRを学ぶことができる符号化した後の符号化変換デコード及びエンコードを使用して達成します。

      これは一般的なフローであるSTR STRデコードを使用して符号化方法と、Unicode文字列型にそれを復号化し、特定の符号化の使用は、変換するための特定の符号化Unicode文字列型をエンコードする方法。strのPythonでUnicodeと以下のように、二つの異なるタイプに属します。

     

  •  一般的には、ウィンドウのデフォルトのエンコーディングのGBK、Linuxのデフォルト・エンコーディングUTF8
  •  Pythonプログラミングコーディングシステム、Pythonコードの概念、ファイルのエンコーディング。

     システムコード:ソースコードを書くためのデフォルトのエンコーディングエディタ。これは、ソースファイルがワード方法に従ってバイナリコードストリームに符号化された内のコンテンツのすべてを表します。ディスクに保存されました。Linuxでlocaleコマンドによって表示します。

     Pythonのコーディング:Pythonで提供手段をデコードします。設定されていない場合は、、Pythonのデフォルトは、ASCIIデコードモードです。中国は、Pythonのソースコードファイルを表示されない場合は、この場所はセットが問題になることはありません方法です。

     設定方法: - - *コード#:ソース・ファイルの先頭には(それは最初の行でなければならない)UTF-8 - * - 、復号化方式は、UTF-8であるソースファイルを提供または

1
2
3
import  sys
reload (sys)
sys.setdefaultencoding( 'UTF-8' )

     ファイルのエンコーディング:テキストのエンコーディング、Linuxのvimの使用セットファイル・エンコーディングビューの下で。

    

  •     その理由は、出力歪みは、一般に、システムデコーダのように符号化されません。

    例えばプリントS、S型STRのために、Linuxシステムは、システムのデフォルトエンコーディングUTF8エンコードされた出力がUTF8としてエンコードされるべき前です。sがGBK符号化である場合にはこれを出力する必要があります。印刷s.decode( 'GBK')。出力中国語( 'UTF8')をコードします。

    同じウィンドウの場合に続いて、ウィンドウのデフォルトのエンコーディングは、GBKの出力の前にエンコードする必要があり、GBKのエンコーディングです。

  •     PythonのUnicodeの一般的な処理プロセスの種類。このようにエンコードする前に直接出力することができます。

おすすめ

転載: www.cnblogs.com/klb561/p/11241664.html