Anomalie #6080
Mis à jour par Daniel Dehennin il y a plus de 10 ans
Le logger ne peut pas gérer correctement l’unicodisation des exceptions:
<pre><code class="python">
>>> python -c 'err = StandardError("« bidule »"); print unicode(err)'
Traceback (most recent call last):
File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
</code></pre>
<pre><code class="python">
>>> python -c 'err = StandardError("« bidule »"); print unicode(err, "UTF-8")'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: coercing to Unicode: need string or buffer, exceptions.StandardError found
</code></pre>
<pre><code class="python">
>>> python -c 'err = StandardError("« bidule »"); print unicode(err.message, "UTF-8")'
« bidule »
</code></pre>
On tourne en boucle et on réajoute des *@u'…'@* partout…
<pre><code class="python">
>>> python -c 'err = StandardError("« bidule »"); print unicode(err)'
Traceback (most recent call last):
File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
</code></pre>
<pre><code class="python">
>>> python -c 'err = StandardError("« bidule »"); print unicode(err, "UTF-8")'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: coercing to Unicode: need string or buffer, exceptions.StandardError found
</code></pre>
<pre><code class="python">
>>> python -c 'err = StandardError("« bidule »"); print unicode(err.message, "UTF-8")'
« bidule »
</code></pre>
On tourne en boucle et on réajoute des *@u'…'@* partout…