mirror of
https://github.com/github/codeql.git
synced 2025-12-24 12:46:34 +01:00
37 lines
1.3 KiB
XML
37 lines
1.3 KiB
XML
<!DOCTYPE qhelp PUBLIC
|
|
"-//Semmle//qhelp//EN"
|
|
"qhelp.dtd">
|
|
<qhelp>
|
|
|
|
<overview>
|
|
<p> Encoding errors prevent a module being evaluated and thus imported.
|
|
An attempt to import a module with an invalid encoding will fail; a <code>SyntaxError</code> will be raised.
|
|
Note that in Python 2, the default encoding is ASCII.
|
|
</p>
|
|
|
|
<p>The existence of an encoding error in a module may suggest other problems as well.
|
|
Either the module is never imported in practice and could be deleted or a
|
|
<code>try</code> statement around the import is mistakenly discarding the <code>SyntaxError</code>.
|
|
</p>
|
|
|
|
|
|
</overview>
|
|
<recommendation>
|
|
<p>Fixing the encoding error is the obvious fix.
|
|
However, it is worth investigating why a module containing an encoding error
|
|
was able to persist and address that problem as well.
|
|
</p>
|
|
<p>
|
|
If a different encoding should be used for the file, specify it explicitly by
|
|
putting an encoding specification at the top of the file. For instance, to
|
|
specify UTF-8 encoding, add the line <code># coding=utf-8</code>.
|
|
</p>
|
|
|
|
</recommendation>
|
|
<references>
|
|
<li>Python PEPs: <a href="https://www.python.org/dev/peps/pep-0263/">PEP 263 — Defining Python Source Code Encodings.</a></li>
|
|
<li>Python Tutorial: <a href="http://docs.python.org/tutorial/errors.html#syntax-errors">SyntaxErrors.</a></li>
|
|
|
|
</references>
|
|
</qhelp>
|