python無(wú)法識(shí)別vim中文代碼的解決方案
問題描述,如圖所示:
首先第一句字符sss沒有打印出來(lái),直接顯示print中文問題;所以可以判斷問題不是由python造成,而是由vim字符保存的編碼規(guī)則導(dǎo)致的,出現(xiàn)的無(wú)法識(shí)別問題;
查看:輸入命令:set encoding
這一步證明vim本身的顯示編碼規(guī)則為cp936,而不是utf-8
查看保存的文件編碼規(guī)則,set fileencoding
顯示fileencoding為空,但至少可以肯定無(wú)法指定是用utf-8規(guī)則;查看vimrc文件可以得知,file保存的編碼規(guī)則只能是utf-8,但肯定是轉(zhuǎn)碼失??;cp936是utf-8的母集,更為寬松的規(guī)則;
更改vimrc中fileencodings為下一句,包含cp936
重新打開文件,查看set fileencoding顯示為cp936
說(shuō)明文件保存編碼規(guī)則為cp936,所以python編譯器無(wú)法正確轉(zhuǎn)換(使用utf-8)
然后 set fileencoding=utf-8,然后保存
python運(yùn)行代碼成功,
強(qiáng)行將vim內(nèi)部編碼設(shè)置為utf-8編碼,
新建文件test004.py,查看encoding與fileencoding均為utf-8,,文件也運(yùn)行成功;但vim本身終端顯示亂碼
由于termencoding與encoding是一樣的,但沒有轉(zhuǎn)換成功,說(shuō)明encoding本身的utf-8無(wú)法正確加載vim;
修改vimrc
然后就能正常顯示;
結(jié)論:encoding為vim自身工具的編碼規(guī)則;fileencoding為file讀取保存的規(guī)則;termencoding為vim終端顯示的編碼規(guī)則;
最終的解決方案:
補(bǔ)充:vim+python3的字符串卻不能使用中文
ss=“愛江山更愛美人“
會(huì)出現(xiàn)錯(cuò)誤,無(wú)法編碼
這個(gè)地方會(huì)出錯(cuò)是因?yàn)?/p>
vim工具的encoding編碼為cp936
臨時(shí)解決方案
在vim命令行:
set encoding=utf-8
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法示例
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法,結(jié)合實(shí)例形式分析了圖的廣度優(yōu)先與深度優(yōu)先搜索算法原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12使用Python+Matplotlib制作時(shí)序動(dòng)態(tài)圖
時(shí)序圖是一個(gè)二維圖,橫軸表示對(duì)象,縱軸表示時(shí)間,消息在各對(duì)象之間橫向傳遞,依照時(shí)間順序縱向排列,可以直觀的描述并發(fā)進(jìn)程,所以本文就使用Python和Matplotlib制作一個(gè)簡(jiǎn)單的時(shí)許動(dòng)態(tài)圖,感興趣的跟著小編一起來(lái)看看吧2023-07-07python 點(diǎn)云地面點(diǎn)濾波-progressive TIN densification(PTD)算法介紹
關(guān)于地面點(diǎn)濾波的概念我們要與孤立點(diǎn)(outlier)濾波區(qū)分開,孤立點(diǎn)濾波可以理解為圖像中的去噪,去除數(shù)據(jù)測(cè)量過(guò)程中受到飛鳥、多路徑效應(yīng)所產(chǎn)生的遠(yuǎn)低于/高于其他數(shù)據(jù)的點(diǎn)。今天通過(guò)本文給大家分享python PTD點(diǎn)云地面點(diǎn)濾波的相關(guān)知識(shí),一起看看吧2021-08-08Python開發(fā)技巧之海象運(yùn)算符的三種運(yùn)用方式
這篇文章主要介紹了Python開發(fā)技巧之海象運(yùn)算符的三種運(yùn)用方式,海象運(yùn)算符是在 PEP 572 被提出的,直到 3.8 版本合入發(fā)布,感興趣的同學(xué)可以參考學(xué)習(xí)下2021-10-10python在openstreetmap地圖上繪制路線圖的實(shí)現(xiàn)
這篇文章主要介紹了python在openstreetmap地圖上繪制路線圖的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07django drf框架中的user驗(yàn)證以及JWT拓展的介紹
這篇文章主要介紹了django drf框架中的user驗(yàn)證以及JWT拓展的介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-0833個(gè)Python爬蟲項(xiàng)目實(shí)戰(zhàn)(推薦)
這篇文章主要介紹了33個(gè)Python爬蟲項(xiàng)目實(shí)戰(zhàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-07-07