Solution fo "LookupError: unknown encoding: A" when running Trac 1.2 on WIndows with Python 2.6.x
When installing & running standalone Trac 1.2.x on Windows, an error could happen after you firstly visit your Trac website:
LookupError: unknown encoding: A
It's probably caused by messy encoding issue of your Windows CMD environment.
There is a simple workaround to resolve this issue. Check the error message, and trace back to site-packages\trac\util\datefmt.py, function _format_datetime_without_babel(t, format)
You can see the final encoding is determined by 3 possible sources:
encoding = getlocale(LC_TIME)[1] or getpreferredencoding() or sys.getdefaultencoding()
If you try to import appropriate modules and print out these source, the results can help you understanding exact what encoding could be used. In my case, the results are empty, "cp950", and "ascii" respectively.
Encoding "cp950" usually causes painful issues when executing Python code...
So, the workaround is to comment the original encoding retrieval statement, and use system default encoding instead:
#encoding = getlocale(LC_TIME)[1] or getpreferredencoding() or sys.getdefaultencoding()
encoding = sys.getdefaultencoding()
Stop and restart tracd.exe, and it should get you the Trac project selection frontpage.
下午2:06
|
|
This entry was posted on 下午2:06
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
0 意見:
張貼留言