4

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?

1 Answer 1

2

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...

5
  • You are correct. The VB.Net application is developed with its standard GUI controls; no GTk, no Qt. Sep 3, 2010 at 13:45
  • 1
    +1 UTF-16 and UTF-8 betweens Windows and (in this case Ubuntu) are what usually trip me up. Sep 3, 2010 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, 2010 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, 2010 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, 2010 at 23:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .