Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm running Ubuntu 9.10 (can't upgrade due to some applications being incompatible with later versions), with all updates installed.

A colleague has written a VB.Net application which seems to run correctly under Mono, however there is an issue with characters in text boxes: if they are not strictly ASCII, they show as boxes (the typical Windows replacement character).

At first I thought it was an issue with Greek characters (which we use); however, I attempted to insert some accented western characters (like é, which is in the typical western 1252 Windows codepage), and these too showed up as boxes too, so it's not strictly an issue with Greek.

I attempted to type Greek in a textbox: the word «Δοκιμή» (test). I then selected what I typed, pressed Ctrl-C, switched to a native text editor and pressed Ctrl-V. The result was “Îοκιμή”, which is the greek word pretty messed up (think UTF-8 interpreted as Latin-1; I work a lot with Unicode, so it's easy to recognise such stuff :) However, if you want to verify, start a Python interpreter in a UTF-8 capable terminal and try:

>>> a="Îοκιμή"
>>> print a.decode("utf8").encode("latin1").decode("utf8")
Δοκιμή

which is what I typed).

Now, the application also embeds an Internet Explorer control; Mono does well emulating it (I think it uses a Gecko engine), and in a textbox inside that IE control, I can type fine and see any non-ASCII character I want.

I would like to know whether there is an issue with my mono configuration or even if it's a known bug; VB.Net is supposedly Unicode-capable, but I don't know anything about the Unicode-capability of the standard controls it uses.

So, if you can help me, please advise: what can I do on the Ubuntu side to remedy the situation?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

I assume the VB.NET application is using Microsoft's .NET GUI stuff and not the Gtk or Qt bindings for .NET? Just guessing, but maybe the problem is related to the fact that Windows (and maybe .NET too?) uses UCS-2 (or UTF-16?) and (most) Xorg applications use/expect UTF-8?

Anyway, looks like there is a bug somewhere, and like you say, something gets converted one time too many...

share|improve this answer
    
You are correct. The VB.Net application is developed with its standard GUI controls; no GTk, no Qt. –  ΤΖΩΤΖΙΟΥ Sep 3 '10 at 13:45
1  
+1 UTF-16 and UTF-8 betweens Windows and (in this case Ubuntu) are what usually trip me up. –  Marco Ceppi Sep 3 '10 at 19:12
1  
It's very well possible the bug is in the Mono libraries that try to mimic the Windows GUI libraries in this case... Maybe contacting upstream Mono people could be useful (and/or checking their bug tracker). –  JanC Sep 3 '10 at 23:35
    
I agree. If something as simple as typing directly into a text box fails, and copy to clipboard also does an inappropriate ISO-8859-1->UTF-8 recode step, it's gotta be a Mono bug. –  bobince Sep 13 '10 at 20:43
    
After the mono packages of my machine were upgraded to the latest version, the issue was corrected; so I assume it was a bug, after all… –  ΤΖΩΤΖΙΟΥ Oct 10 '10 at 23:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.