python無(wú)法識(shí)別vim中文代碼的解決方案
首先第一句字符sss沒(méi)有打印出來(lái),直接顯示print中文問(wèn)題;所以可以判斷問(wèn)題不是由python造成,而是由vim字符保存的編碼規(guī)則導(dǎo)致的,出現(xiàn)的無(wú)法識(shí)別問(wèn)題;
查看:輸入命令: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
重新打開(kāi)文件,查看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是一樣的,但沒(méi)有轉(zhuǎn)換成功,說(shuō)明encoding本身的utf-8無(wú)法正確加載vim;
修改vimrc
然后就能正常顯示;
結(jié)論:encoding為vim自身工具的編碼規(guī)則;fileencoding為file讀取保存的規(guī)則;termencoding為vim終端顯示的編碼規(guī)則;
最終的解決方案:補(bǔ)充:vim+python3的字符串卻不能使用中文
ss=“愛(ài)江山更愛(ài)美人“
會(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è)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. JavaScript Reduce使用詳解2. 深入了解JAVA 軟引用3. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法4. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法5. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題6. 簡(jiǎn)述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別7. 使用Python3 poplib模塊刪除服務(wù)器多天前的郵件實(shí)現(xiàn)代碼8. SpringBoot集成mqtt的多模塊項(xiàng)目配置詳解9. Python TestSuite生成測(cè)試報(bào)告過(guò)程解析10. 詳解JAVA 強(qiáng)引用
