Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#3389 closed defect (fixed)

g.gui: UnicodeEncodeError when writing a workspace file including non-ASCII characters

Reported by: lrntct Owned by: grass-dev@…
Priority: normal Milestone: 7.2.4
Component: wxGUI Version: 7.2.0
Keywords: workspace, unicode Cc:
CPU: Unspecified Platform: Linux

Description

I've a workspace with two vector files. Saving it worked fine until I added a non-ASCII character in a WHERE field:

d.vect map=Localidades_Urbanas_Estudio@PERMANENT where="b_Municipio IN ('Saltillo', 'Río Bravo')" width=1

The display function works correctly, but when I try to save the workspace, I receive the following error:

Writing current settings to workspace file failed.

Reason: 'ascii' codec can't encode character u'\xed' in position 57: ordinal not in range(128)

Traceback (most recent call last):
  File "/usr/lib/grass72/gui/wxpython/lmgr/frame.py", line 1634, in SaveToWorkspaceFile
    WriteWorkspaceFile(lmgr=self, file=tmpfile)
  File "/usr/lib/grass72/gui/wxpython/core/workspace.py", line 894, in __init__
    self.__writeLayer(mapTree, item)
  File "/usr/lib/grass72/gui/wxpython/core/workspace.py", line 987, in __writeLayer
    (' ' * self.indent, self.__filterValue(val)))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 57: ordinal not in range(128)

Change History (9)

in reply to:  description comment:1 by hellik, 7 years ago

Replying to lrntct:

I've a workspace with two vector files. Saving it worked fine until I added a non-ASCII character in a WHERE field:

d.vect map=Localidades_Urbanas_Estudio@PERMANENT where="b_Municipio IN ('Saltillo', 'Río Bravo')" width=1

The display function works correctly, but when I try to save the workspace, I receive the following error:

Writing current settings to workspace file failed.

Reason: 'ascii' codec can't encode character u'\xed' in position 57: ordinal not in range(128)

Traceback (most recent call last):
  File "/usr/lib/grass72/gui/wxpython/lmgr/frame.py", line 1634, in SaveToWorkspaceFile
    WriteWorkspaceFile(lmgr=self, file=tmpfile)
  File "/usr/lib/grass72/gui/wxpython/core/workspace.py", line 894, in __init__
    self.__writeLayer(mapTree, item)
  File "/usr/lib/grass72/gui/wxpython/core/workspace.py", line 987, in __writeLayer
    (' ' * self.indent, self.__filterValue(val)))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 57: ordinal not in range(128)

some related tickets:

#3340, #3275, #3219, #3205, #3126

in reply to:  description ; comment:2 by hellik, 7 years ago

Replying to lrntct:

I've a workspace with two vector files. Saving it worked fine until I added a non-ASCII character in a WHERE field:

which grass version are you using?

in reply to:  2 ; comment:3 by lrntct, 7 years ago

Replying to hellik:

Replying to lrntct:

I've a workspace with two vector files. Saving it worked fine until I added a non-ASCII character in a WHERE field:

which grass version are you using?

I'm using 7.2.0

Indeed #3275 and #3340 seems related (if not equal). I searched for keywords before filling the ticket, but did not find them because the message is in French in those.

If I understand well, this issue should be fixed in 7.2.2 ?

in reply to:  3 comment:4 by hellik, 7 years ago

Replying to lrntct:

Replying to hellik:

Replying to lrntct:

I've a workspace with two vector files. Saving it worked fine until I added a non-ASCII character in a WHERE field:

which grass version are you using?

I'm using 7.2.0

Indeed #3275 and #3340 seems related (if not equal). I searched for keywords before filling the ticket, but did not find them because the message is in French in those.

If I understand well, this issue should be fixed in 7.2.2 ?

according to the tickets yes. testing the newer version very welcome.

comment:5 by neteler, 7 years ago

Milestone: 7.2.27.2.3

Ticket retargeted after milestone closed

comment:6 by martinl, 7 years ago

Milestone: 7.2.3

Ticket retargeted after milestone closed

comment:7 by martinl, 7 years ago

Milestone: 7.2.4

comment:8 by wenzeslaus, 7 years ago

Keywords: workspace unicode added
Resolution: fixed
Status: newclosed

Fixed (in 7.2.2 according to comment:4, tested with trunk now).

Note: There seems to be different problem: The where statement does not show in the dialog of loaded workspace but it was applied and in status bar you can see it was loaded correctly. Leaving that for further confirmation and different ticket if needed.

in reply to:  8 comment:9 by neteler, 7 years ago

Replying to wenzeslaus:

Fixed (in 7.2.2 according to comment:4, tested with trunk now).

Note: There seems to be different problem: The where statement ...

Please open a different ticket for a new problem.

Note: See TracTickets for help on using tickets.