XBMC, no German umlauts on locale de_DE.UTF-8 -ISO8859-15- filenames.
#1
The file system where media is stored on my linux system have file names with ISO-8859-1/15 and this can not be changed. In XBMC the file names/directory names do not show german umlauts or any other ISO-8859-1/15 characters beyond 7-bit ASCII.

How can i configure XBMC to produce the right output ?
Reply
#2
In XBMC settings>International look at getting the right character encoding selected, ie. not Default if thats not working now and of course whatever settings you see fit for that there.

See Settings/Appearance#International (wiki)
Reply
#3
Thanks, but thats unfortunately what i've tried ad infinitum myself. And i see how in result userdata/guisettings.xml change between <charset>CP1252</charset> and <charset>ISO-8859-1</charset> for example, but that has no influence whatsoever on the display of file names in XBMC.

Note that the PVR plugin (VNSI) is correctly displaying the German Umlauts, so it's clearly just a problem of the core XBMC functionality when looking at eg: pictures or video file names.
Reply
#4
idk then, you could lookup utf related PR's in github/xbmc

Sorry dont have other ideas. Plenty developers are German, so you could make your post title a bit more obvious, to maybe see if anyone responds to this that knows the answer.

I can tell you for nothing you should try a nightly build, as many UTF related fixes went in.
Reply
#5
And BTW: I can see in xbmc.log:
19:07:09 T:2997335808 DEBUG: trying to set locale to en_AU.UTF-8
If i change in the config language or region, it will change the name
of the local accordingly (<language>_<REGION>), but it will always stay with UTF-8.
Any changes in the charset from windows <-> ISO has no xbmc.log output in result
and there is no way in hell it seems to have XBMC NOT use UTF-8

*sigh*

I am using gentoo with a git thats less than a week old. ;-(

I can't believe i am the only one with this problem *sob*

But wold really love to hear someone chime in and say that it can be made to work.

(2014-01-07, 20:20)uNiversal Wrote: idk then, you could lookup utf related PR's in github/xbmc

Sorry dont have other ideas. Plenty developers are German, so you could make your post title a bit more obvious, to maybe see if anyone responds to this that knows the answer.

I can tell you for nothing you should try a nightly build, as many UTF related fixes went in.
Reply
#6
Quite frustrating..

So i saw that xbmc.log always said:
20:21:41 T:2997266176 DEBUG: trying to set locale to de_DE.UTF-8
20:21:41 T:2997266176 INFO: global locale set to de_DE.UTF-8
or other countries, but always with UTF-8

So, i checked the source, and there actually is:
xbmc/LangInfo.cpp

Quote:void CLangInfo::CRegion::SetGlobalLocale()
{
CStdString strLocale;
if (m_strRegionLocaleName.length() > 0)
{
strLocale = m_strLangLocaleName + "_" + m_strRegionLocaleName;
#ifdef TARGET_POSIX
strLocale += ".UTF-8";
#endif
}

Where TARGET_POSIX is really linux. I totally don't get why thats being done...
Anyhow. I removed that, compiled XBMC, and i see the xbmc.log to be fine now:

20:21:41 T:2997266176 DEBUG: trying to set locale to de_DE
20:21:41 T:2997266176 INFO: global locale set to de_DE

And of course if i set these locales on my linux PC in the shell or elsewhere they work beautifully with all the ISO 8859 filenames in the system.... But not so XBMC. Still all non C locale charaters not showing up.

Creating some UTF_8 filenames with German Umlauts, and e voila... XBMC displays tham corectly.

No idea where to look next.
Reply
#7
Can you do this; Without your change to source.

Code:
mv /etc/environment /etc/environment.bak
echo "LC_MESSAGES=\"C\"" | sudo tee -a /etc/environment > /dev/null 2>&1
echo "LC_ALL=\"en_DE.UTF-8\"" | sudo tee -a /etc/environment > /dev/null 2>&1
Reply
#8
No change whatsoever unfortunately, neither without nor with my change.
What was your theory, why should this have changed anything ?
Reply
#9
My theory is a likely flaw in logic, i.e. a bug

Change you Post title to have Prefix [BUG] (select from drop down list
Name it like this. (full edit post....

[BUG] XBMC, no German umlauts on locale de_DE.UTF-8 -ISO8859-15- filenames.

Also I noticed I boobed with check above.

Should be

Code:
mv /etc/environment /etc/environment.bak
echo "LC_MESSAGES=\"C\"" | sudo tee -a /etc/environment > /dev/null 2>&1
echo "LC_ALL=\"de_DE.UTF-8\"" | sudo tee -a /etc/environment > /dev/null 2>&1

not en_DE

Also the code you found is
https://github.com/xbmc/xbmc/blame/maste...ngInfo.cpp

Starts at https://github.com/xbmc/xbmc/blame/maste...o.cpp#L155
Ends at https://github.com/xbmc/xbmc/blame/maste...o.cpp#L164

It was last updated in 2010 by blinkseb and davilla added the if POSIX in 2013 @ https://github.com/xbmc/xbmc/blame/maste...o.cpp#L161 as part of this commit https://github.com/xbmc/xbmc/commit/1e8e...52e66cefbc, so we blame davilla?

Its possible it needs updating.. checking/even fixing idk..

Code is beyond me I dont understand ALIEN speak.

@moderator can you ping Karlson2k
Reply
#10
I already tried de_DE. But i don't understand why you think the environment change should help:

What's the theory of operations ? XBMC internally keeps filenames in a format which is either local-environment format or UTF-8 ? Aka: in xbmc/filesystems, some modules for foreign filesystems (like ftp or the like) convert names to UTF-8, but the local filesystem module (Directory.cpp) does not do such conversion AFAIK.

So, then those file/directory names need to be rendered... and how does XBMC now know whether a file/directory name is UTF-8 or local-system encoding (eg: ISO-8859-1/15) ?
Reply
#11
In some Linux there are or was a environment locale bug. So in any case I force set correct like above only mine is not de_DE

I presume its UTF-8 but recently UTF-32 operations was added tbh idk what that is suppose to encompass..

in any case I would also like to know the answer you asking, so hopefully the ppl who know this stuff will jump in.
Reply
#12
ping @Karlson2k Can you please look at OP's Question?

Thank you..
Reply
#13
uNiversal: I've tried to send a message to karlson2k or @Karlson2k, but it said that both names are not registered ;-( I must be doing something wrong...
Reply
#14
Its Karlson2k to be specific, and he may have pm disabled like I do... Its best if a moderator or a team member ping him via another internal team comm. I've asked someone... so lets see.
Reply
#15
seems to work fine even with en_us.UTF8 locale
Image
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC, no German umlauts on locale de_DE.UTF-8 -ISO8859-15- filenames.0