[GRASS-dev] WinGRASS and non-latin letters

Maris Nartiss maris.gis at gmail.com
Fri Mar 18 17:06:06 EDT 2011


Hello all,
WinGRASS activities followers migh have noticed error reports dealing
with file/folder encoding problems on Windows. I have been trying to
get rid of some of those problems and my current conclusions are
really bad - it's impossible. Good news - it's Windows that's broken
by design and not GRASS. Bad news - it's impossible to fix non-latin
letter support on Windows for file/folder names.

The root of the problem: CMD (and thus also .bat files) use OEM
encoding, GUI applications use ANSI encoding. When pasing around
strings between GUI and CMD (CLI or .bat files) one has to do
conversion from one encoding to second one. As we can't know from
where string comes from or where it will be used, it's not possible to
implement universal solution without gazzilion of hacks.

List of unsupported things (in both GUIs):
Starting GRASS if user's name contains non-latin letter (cause -
.grassrc is in %HOME%);
Setting GISDBASE to path with non-latin letter;
Importing/exporting data from/to folder with non-latin letter in it's path;
must be more.

Unless somebody comes up with brilliant idea how to fix encoding
issues, I suggest to downgrade priority of all windows encoding
related bugs and to add a warning to documentation, WinGRASS
installer, QGIS about issues with non-latin file names.

What to do if You have data/user name with non-latin letter and You
cant change it (i.e. no permission)? Your SOL.

Sorry for bad news,
Windows sucks hard.
Māris.


More information about the grass-dev mailing list