%run
# -*- coding: utf-8 -*-
๋ก ํ์๋ python ํ์ผ์ utf8์ด ์๋ ํ์์ผ๋ก ์ ์ฅํ๋ฉด ipython์ด ์ถฉ๋ํ ์ ์์ต๋๋ค(์
ธ๋ก ๋์๊ฐ๊ธฐ).
์ถฉ๋์ ๊ฐ์ ธ์ค๋ ค๋ฉด ํ์ผ์ด ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
๋ค์์ ์คํ ์ถ์ ๊ณผ ํจ๊ป ISO-8859-15์ ์ ์ฅ๋ ์ด๋ฅผ ์ฌํํ๋ ์์ ์คํฌ๋ฆฝํธ์
๋๋ค.
ํ์ผ.zip
%run wrong_encoding.py
...
... <long trace>
...
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 78: invalid continuation byte
python3 -c "import IPython; print(IPython.sys_info())"
{'commit_hash': '5c9c918',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/usr/lib/python3.4/site-packages/IPython',
'ipython_version': '5.1.0',
'os_name': 'posix',
'platform': 'Linux-3.16.7-42-desktop-x86_64-with-SuSE-13.2-x86_64',
'sys_executable': '/usr/bin/python3',
'sys_platform': 'linux',
'sys_version': '3.4.5 (default, Jul 03 2016, 13:55:08) [GCC]'}
๋ฌผ๋ก ํ์ผ์ ์ฒ์๋ถํฐ ์ฌ๋ฐ๋ฅธ ํ์์ผ๋ก ์ ์ฅ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด์์ ์ผ๋ก๋ ์ธ์ ์ด ์์ค๋์ง ์๊ณ ๋ณด๋ค ์ ์ตํ ๋ฉ์์ง๊ฐ ๋ฐํ๋ฉ๋๋ค.
๋๋ 13๊ฐ์ ์ฐ๊ฒฐ๋ ์ญ์ถ์ ์ ์ธ๊ณ ์์ต๋๋ค. ์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ทธ ๋งํผ์ ์ญ์ถ์ ์ ์ป์ผ๋ฉด ์ผ์ข ์ ์์ ๋ฐ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ;-)
ํ์ผ ์ด๋ฆ์ ์ ๊ทผํ๊ธฐ ์ฝ์ง ์์ ๊ฒฝ์ฐ ๋ฒ์ธ์ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉํ ๋ช ๋ น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
find . -name "*.py" -exec file {} \; | grep -v ASCII | grep -v UTF-8 | grep -v empty
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ 13๊ฐ์ ์ฐ๊ฒฐ๋ ์ญ์ถ์ ์ ์ธ๊ณ ์์ต๋๋ค. ์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ทธ ๋งํผ์ ์ญ์ถ์ ์ ์ป์ผ๋ฉด ์ผ์ข ์ ์์ ๋ฐ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ;-)