[Qgis-developer] encoding in custom python functions

Alexandre Neto senhor.neto at gmail.com
Thu Oct 22 03:37:51 PDT 2015

Have you tried to put the following line in the top of the file?

# -*- coding: utf-8 -*-

Lauri Kajan <lauri.kajan at gmail.com> escreveu no dia qui, 22/10/2015 às

> Hi all,
> I'm trying to figure out some encoding problems when using custom python
> expression functions.
> I'm using python functions for defining some label texts. I need use some
> special characters like ä and ö.
> When a new file is created in function editor the file is encoded in my
> system encoding cp1252. At least the ä is coded to 0xe4 if I check that
> with hex-editor.
> Let the custom function just be
> @qgsfunction(args='auto', group='Custom')
> def encodingtest(feature, parent):
> return 'ä'
> This displays on a map like 'ä'
> It seems that the file is converted to utf-8 before execution and the ä is
> then coded to 0xc3 0xa4. Now QGIS still tries to interpret this as cp1252
> and then displays this as 'ä'.
> It doesn't help to define the ä as unicode like u'ä' because QGIS still
> sees the ä as 0xc3 0xa4 and think that it is in cp1252.
> The only way to resolve this in the code at least that I have found is to
> use
> return 'ä'.decode('utf-8')
> This works on QGIS but the file can't be executed elsewhere (IDE) since
> the file is truly in cp1252 and 0xe4 can't be decoded using utf-8.
> Does anyone else confirm this and have I understood right the problem?
> Should I file a bug report?
> Thanks,
> -Lauri
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20151022/b6281a9a/attachment-0001.html>

More information about the Qgis-developer mailing list