python 中文乱码问题

我已经在文件的头部添添加了 这部分的代码 为什么还是出现提示ASCII的编码错误呢?

#!/usr/bin/python
# -*- coding: utf-8 -*-

SyntaxError: Non-ASCII character 'xe6' in file .... but no encoding declared; see http://python.org/dev/peps/pe... for details

为什么呢?

阅读 3.3k
3 个回答

查看一下你的文件的编码格式,應該還不是Unicode類的UTF-8等。

在Windows環境下
試用Notepad++,打開文件後選編碼看要不要轉譯成UTF-8等,如UTF-8(檔首無BOM)

在Linux環境
下先查一下檔案的編碼

file -bi [filename]

也查一下你用的編輯器的編碼設定,如用vim的話,vimrc檔應該有這內容

set encoding=utf-8
set fileencoding=utf-8

因為encoding編碼"環境"的問題,和你的作業系統和編輯環境相關,你發問時可以記得提。

(雖然不知道我這答案為什麼被踩?!)

此外,這有教程用命令列的方式改編碼格式

iconv -f old_encoding -t new_encoding filename

整个文件源码看下吧,或者可以试下 # coding: utf8 (温馨提示, 这个编码声明要在第一行或者第二行才有效)

#!/usr/bin/env python
# -*- coding: utf-8 -*- 

你的第一行是不是写死了?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题