當前位置:首頁 » 編程語言 » 設置utf編碼python

設置utf編碼python

發布時間: 2022-07-31 20:35:26

A. 如何設置python的編碼格式為utf-8

重裝了系統(ubuntu 14.04)原來正常可用的OpenERP項目在切換到開發者模式的時候報錯:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
而在伺服器上的項目正常可用,其原因是由於python的默認編碼設置為ascii,可以用以下命令查看:
import sys
sys.getdefaultencoding()
解決方案有兩種:
1. 在項目啟動文件中添加設置字元為utf8:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
2. 在python的lib文件夾下的sitecustomize.py文件中添加代碼:(我的文件位於/usr/lib/python2.7)
import sys
reload(sys)
sys.setdefaultencoding('utf8')
try:
import apport_python_hook
except ImportError:
pass
else:
apport_python_hook.install()
relaod(sys)一句是必須的

B. python3.3.1怎麼設置默認編碼為utf-8

有個比較穩妥的辦法,讀寫文件的時候多加個參數,open('test.txt', 'r', encoding='utf-8')

C. sublime 怎麼修改python 存儲為utf-8

1. 漢化 sublime
[
搜索liblime漢化,下載解壓得到default文件夾
將default文件夾放入 sublime/Data/Packages 中,漢化完成
]
2. 安裝 Package Control 插件
[
方法1. 查看——顯示控制台——粘貼代碼(網上搜到代碼)
方法2. sublime/Data/Packages文件夾中放入另一個文件夾(網路上可以搜索到文件夾)
]
3. 安裝ConvertToUTF8,使得python代碼中的中文能夠正確顯示
[
保證網路暢通
按下「 ctrl + shift + P 」(或者菜單欄:工具——命令面板)調出命令面板
命令面板中輸入「install」,按下「Enter」
在新出現的窗口中輸入ConvertToUTF8 ,按下「Enter」即可完成安裝
]
4. 安裝SublimeREPL
[
保證網路暢通
按下「 ctrl + shift + P 」(或者菜單欄:工具——命令面板)調出命令面板
命令面板中輸入「install」,按下「Enter」
在新出現的窗口中輸入SublimeREPL ,按下「Enter」即可完成安裝
]
5. 配置SublimeREPL(這一步驟可省略,看文末介紹)
[

打開文件sublime/Data/packages/SublimeREPL/config/python/Main.sublime-menu文件
查找到
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
把它復制並列粘貼在原位置下面,稍稍修改剛剛粘貼的部分
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},

{"command": "repl_open",
"caption": "Python - my", (我取名python-my,這里你自己取一個名字,顯示在菜單欄中)
"id": "repl_myf5", (我取id為 repl_myf5, 你自己取一個獨一無二的)
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u","$file_basename"], (這里修改添加了一點欄位)
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
保存,至此在菜單欄 工具——SublimeREPL——python中就出現了python-my選項
]
6. 添加源文檔中的欄位
[
打開一個python源文檔,在文檔頭添加欄位 # -*- coding: utf-8 -*- (沒有這個欄位編譯會出錯,python編碼和sublime不同)
選擇工具——SublimeREPL——python——python-my(我取的名字), 即可編譯
]
7. 設置快捷鍵
[
用工具菜單調用編譯太慢,可以設置快捷鍵
選擇菜單preferences——鍵綁定-用戶,在打開的文件中輸入

[ { "keys": ["f5"], (f5是我設置的快捷鍵,可以改,當然還是推薦f5)
"caption": "SublimeREPL: Python",
"command": "run_existing_window_command","args":
{
"id": "repl_myf5", (repl_myf5是我取的id,你填入你的id)
"file":"config/python/Main.sublime-menu"
}
}
]

上面內容包括方括弧,保存後,即可使用設定的快捷鍵
]
8. 要注意的是,調試程序,使用快捷鍵編譯時候,首先 ctrl + s 保存當前文件,編譯的才是最新修改的源文件
(要是誰會在快捷鍵裡面添加 先保存 再編譯 功能請告訴我一下,我不太會配置快捷鍵,thankyou,發送郵件[email protected]

建議 查看——布局——列2 ,2列布局看起來更方便,多編譯幾次右邊會出現很多編譯窗口,關閉編譯窗口 使用ctrl + w 可以快速關閉
9
文末的話,後來發現,不改變SublimeREPL的配置文件,直接新建快捷方式id改成repl_python_run 即可

第一種方法使用起來和python默認IDLE一樣,第二種方法像cmd窗口

D. python3.3中文亂碼與默認編碼格式設定。

python默認編碼格式是utf-8。在python2.7中,可以通過sys.setdefaultencoding('gbk')設定默認編碼格式,而在python3.3中sys.setdefaultencoding()這個函數已經沒有了。在python3.3中該如何設置內置的默認編碼格式啊!急求!!!
(類似於「#coding:gbk」這種就不必來說了。能讓import sys print(sys.getdefaultencoding())輸出「gbk「的大神請進!!!)

-----------------------------

python 3和2很大區別就是python本身改為默認用unicode編碼。
字元串不再區分"abc"和u"abc", 字元串"abc"默認就是unicode,不再代表本地編碼、
由於有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如「sys.setdefaultencoding」;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。

另一個問題是語言環境內只有unicode怎麼輸出gbk之類的本地編碼。

答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如

file.write("GBK的中文".encode("GBK"))

python環境內字元串用str.encode("GBK")方法輸出成位元組串用於和其他環境交流。

E. 怎麼在Python里使用UTF-8編碼

行首定義

##-*-coding:utf-8-*-

F. python怎麼設置utf8編碼格式

python2.7里的話代碼前加上coding:utf-8,中文前加上u

如:

#coding:utf-8

text=u'中文'
printtext
#這里的text就是utf-8編碼

G. 如何設置python的編碼格式為utf-8

python的編碼格式?
#coding=utf-8
這是文檔編碼
import sys
sys.setdefaultencoding("utf-8")
這是設置默認編碼方式為utf-8
xx.encode("utf-8")
這是字元串編碼操作
import codecs
codecs.open(xx,'r','utf-8"),這是文件編碼讀取方式

H. python為什麼需要reload後設置編碼

python在安裝時,默認的編碼是ascii,當程序中出現非ascii編碼時,python的處理常常會報這樣的錯UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python沒辦法處理非ascii編碼的,此時需要自己設置將python的默認編碼,一般設置為utf8的編碼格式。
查詢系統默認編碼可以在解釋器中輸入以下命令:
Python代碼
sys.getdefaultencoding()

設置默認編碼時使用:
sys.setdefaultencoding('utf8')

可能會報AttributeError: 'mole' object has no attribute 'setdefaultencoding'的錯誤,執行reload(sys),再執行以上命令就可以順利通過。
此時再執行sys.getdefaultencoding()就會發現編碼已經被設置為utf8的了,但是在解釋器里修改的編碼只能保證當次有效,在重啟解釋器後,會發現,編碼又被重置為默認的ascii了,那麼有沒有辦法一次性修改程序或系統的默認編碼呢。
如果需要在運行時(就是整個解釋器啟動完之後)進行setdefaultencoding,就只能重新載入sys這個模塊。
一個解決的方案在程序中加入以下代碼:
import sys
reload(sys)
sys.setdefaultencoding('utf8')

I. python有哪幾種編碼方式

第一種:ASCII碼。是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,它是現今最通用的單位元組編碼系統,並等同於國際標准IS/IEC
646。
由於計算機是美國人發明的,因此,最早只有127個字母被編碼到計算機李,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母a的編碼是97,後128個稱為擴展ASCII碼。
第二種:GBK和GB2312。能在計算機中顯示中文字元是至關重要的,然而ASCII表裡一個偏旁部首都沒有,所以我們需要一個關於中文和數字對應的關系表,一個位元組只能最多表示256個字元,用處理中文顯然一個位元組是不夠的,所以我們需要採用兩個位元組來表示,所以中國制定了GB2312編碼,用來將中文編寫進去。
第三種:Unicode。因為各個國家都有一套自己的編碼,所以無法避免沖突,因此Unicode誕生了。它可以把所有語言都統一到一套編碼里,這樣就不會存在亂碼問題了,現代操作系統和大多數編程語言都直接支持Unicode。
第四種:UFT-8。基於節約的原則,出現了把Unicode編碼轉化為可變長編碼的UTF-8編碼。而UTF-8編碼把一個Unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成一個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組,如果你要傳輸的文本包含大量英文字元,用UTF-8編碼就能節省空間。

熱點內容
微信提示存儲空間不足 發布:2025-01-24 01:19:53 瀏覽:963
安卓電腦管家如何清除緩存 發布:2025-01-24 00:55:42 瀏覽:148
怎麼上傳歌曲到qq音樂 發布:2025-01-24 00:45:30 瀏覽:65
養貓用什麼配置 發布:2025-01-24 00:37:58 瀏覽:812
pythongps 發布:2025-01-24 00:37:51 瀏覽:813
辦公編程滑鼠 發布:2025-01-24 00:37:07 瀏覽:386
wpa加密類型 發布:2025-01-24 00:35:58 瀏覽:960
如何用批處理實現ftp映射盤符 發布:2025-01-24 00:25:45 瀏覽:954
win7sql版本 發布:2025-01-24 00:22:16 瀏覽:499
安卓手機市場有什麼 發布:2025-01-23 23:48:56 瀏覽:26