From: Michael Z. <zhe...@gm...> - 2006-05-05 17:24:06
|
I do some testings for this problem. I found that if the reST file contains any syntex error , the UnicodeDecodeError will be appeared if the reST file has a Chinese name or the command-line parameters contains Chinese. the testing is 4 steps as following: 1. create test.txt and 测试.txt under my E:\temp\测试\, both of them just contain one line:( "测试" means "test" in Chinese ) .. content:: 2. use rst2html.py for test.txt, I got the right output E:\temp\测试>python c:\Python24\Scripts\rst2html.py test.txt test.html test.txt:1: (ERROR/3) Unknown directive type "content". .. content:: 3. use rst2html.py for 测试.txt, I got the Error E:\temp\测试>python c:\Python24\Scripts\rst2html.py 测试.txt tt.html UnicodeDecodeError: 'ascii' codec can't decode byte 0xb2 in position 0: ordinal not in range(128) The specified output encoding (utf-8) cannot handle all of the output. Try setting "--output-encoding-error-handler" to * "xmlcharrefreplace" (for HTML & XML output); Traceback (most recent call last): File "c:\Python24\Scripts\rst2html.py", line 25, in ? publish_cmdline(writer_name='html', description=description) File "C:\Python24\lib\site-packages\docutils\core.py", line 337, in publish_cmdline config_section=config_section, enable_exit_status=enable_exit_status) File "C:\Python24\lib\site-packages\docutils\core.py", line 217, in publish self.report_Exception(error) File "C:\Python24\lib\site-packages\docutils\core.py", line 256, in report_Exception self.report_UnicodeError(error) File "C:\Python24\lib\site-packages\docutils\core.py", line 285, in report_UnicodeError sys.stderr.write( UnicodeDecodeError: 'ascii' codec can't decode byte 0xb2 in position 0: ordinal not in range(128) 4. Enter the parents directory, use rst2html.py for test.txt again. I got the same error just like step 3. here is the --dump-settings output comes with tt.txt that contains nothing: E:\temp>python c:\Python24\Scripts\rst2html.py --dump-settings tt.txt tt.html ::: Runtime settings: {'_destination': 'tt.html', '_disable_config': None, '_source': 'tt.txt', 'attribution': 'dash', 'auto_id_prefix': 'id', 'cloak_email_addresses': None, 'compact_field_lists': 1, 'compact_lists': 1, 'config': None, 'datestamp': None, 'debug': None, 'docinfo_xform': 1, 'doctitle_xform': 1, 'dump_internals': None, 'dump_pseudo_xml': None, 'dump_settings': True, 'dump_transforms': None, 'embed_stylesheet': 1, 'error_encoding': 'ascii', 'error_encoding_error_handler': 'backslashreplace', 'exit_status_level': 5, 'expose_internals': None, 'field_name_limit': 14, 'file_insertion_enabled': 1, 'footnote_backlinks': 1, 'footnote_references': 'brackets', 'generator': None, 'halt_level': 4, 'id_prefix': '', 'initial_header_level': '1', 'input_encoding': None, 'input_encoding_error_handler': 'strict', 'language_code': 'en', 'option_limit': 14, 'output_encoding': 'utf-8', 'output_encoding_error_handler': 'xmlcharrefreplace', 'pep_base_url': 'http://www.python.org/dev/peps/', 'pep_file_url_template': 'pep-%04d', 'pep_references': None, 'raw_enabled': 1, 'record_dependencies': DependencyList(None, ['C:/Python24/lib/site- packages/docutils/writers/html4css1/html4css1.css']), 'report_level': 2, 'rfc_base_url': 'http://www.faqs.org/rfcs/', 'rfc_references': None, 'sectnum_xform': 1, 'sectsubtitle_xform': 0, 'source_link': None, 'source_url': None, 'strict_visitor': None, 'strip_comments': None, 'stylesheet': None, 'stylesheet_path': 'C:\\Python24\\lib\\site- packages\\docutils\\writers\\html4css1\\html4css1.css', 'tab_width': 8, 'template': 'C:/Python24/lib/site- packages/docutils/writers/html4css1/template.txt', 'title': None, 'toc_backlinks': 'entry', 'traceback': None, 'trim_footnote_reference_space': None, 'warning_stream': None, 'xml_declaration': 1} |