代码中的Pycharm和UTF-8

weg*_*gry 2 python utf-8 pycharm python-3.x

当我尝试运行此代码时:

with open('scraped.csv', 'w') as dump:
        writer = csv.writer(dump, delimiter='?', escapechar='\\',quoting=csv.QUOTE_NONE)
        writer.writerow(('author', 'ups', 'downs',
                         'score', 'sub_name', 'replys',
                         'created_utc', 'pulled down at'))
Run Code Online (Sandbox Code Playgroud)

在PyCharm中,我收到以下错误

  File ..., line 38, in <module>
'created_utc', 'pulled down at'))
UnicodeEncodeError: 'ascii' codec can't encode character '\u0119' in position 6: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

PyCharm无法在文件中支持UTF-8吗?或者我错过了某个地方的设置.Sublime中构建了相同的文件.

Tim*_*Tim 5

我之前在PyCharm中遇到过类似的错误,我认为这与选择'ascii'而不是UTF8的编码检测有关.然而,有一个简单的工作:

with open('scraped.csv', 'w', encoding='utf8') as dump:
    writer = csv.writ...
Run Code Online (Sandbox Code Playgroud)

编码选项将强制文件加载UTF8.

  • 如果没有提供显式编码,那么`open()`使用[`locale.getpreferredencoding(False)`](http://docs.python.org/3/library/locale.html#locale.getpreferredencoding). (3认同)