Issues with character encoding please help?

by Moto » Wed, 21 Apr 2010 12:10:17 GMT

Sponsored Links
 I get an array of bytes and I convert that to a String in the
following way:
blockString = new String(tagBlock);

The results are good for english and some other languages but Russian,
Spanish, Chinese, and many others aren't displayed properly...  The
only way to diplay correctly is to find the correct encoding and
decode the language like this:
blockString = new String(tagBlock,"ISO8859_1");

But how can I do this better?  How can I not have to worry about
string encoding?  It's turning out to be a problem back in Japan and
other countries with my app :(

Thanks for any help!


Issues with character encoding please help?

by Moto » Wed, 21 Apr 2010 19:47:27 GMT

 I'm sure I'm doing something wrong!?


Sponsored Links

Issues with character encoding please help?

by Moto » Thu, 22 Apr 2010 08:42:10 GMT

 I guess no one runs into this kind of issues...???

> >

Issues with character encoding please help?

by Bob Kerns » Thu, 22 Apr 2010 15:09:27 GMT

 No, it's just that I've already told everyone else on the planet (it
seems) not to do this! I've been crusading on this for decades... :=)

Do not ever use the String(byte[]) constructor.

Do not ever pass up an opportunity to explicitly supply a character

Always use UTF-8 when you have control over the encoding. But Never,
ever, leave it to the platform default. You must always find out the
encoding somewhere.

If it really is just a bunch of bytes of unknown encoding, and you
can't change that, then you will need to allow the user to make an
alternative selection -- but start with UTF-8 as the default if at all

Nobody, anywhere, should be using anything but UTF-8 for new data
these days. The world has moved far beyond all these petty national

So the first thing is to ask -- where do these bytes come from? If
they're not already in UTF-8, can I change something to get them in
UTF-8? If not, can I get the supplier of these bytes to tell me what
encoding they're in (such as the Content-Type: HTTP file)? If not, how
can I let the user tell me the encoding and character set, if I guess

> > >

Other Threads

1. setWallpaper

I am using the setWallpaper method and I am having problems with it.
Rarely it seems to work fine, others I just get a white screen on the
home screen. And I cannot pin point what the difference is. Right now
it is always white. Has anyone else experience problems? Is there any
"requirements" with respect to the Bitmap you a the Wallpaper? Can it
be any size, or is oen size better than others?
Is this maybe a emulator issue?

2. GmmGeocoder - Latitude Longitude Span not working


I am using

GmmGeocoder geoCoder = new GmmGeocoder(Locale.getDefault());
Address[] addresses = geoCoder.query(business,
          GmmGeocoder.QUERY_TYPE_BUSINESS, lat, long, latspan,

lat = Latitude from current location
long = Longitude from current location
latspan = 0.006
longspan= 0.006

The latitude and longitude span are not working.  It takes the default
180 and 360.
Even the Geocoder - getFromBusinessName takes the 180 and 360 as
latitude and longitude span.
Am I doing something wrong?


3. ListView selection problem (with highlighting/selecting first element)

4. Use AlertDialog inside a service.

5. Graphical Ticker - Rotation Allowed

6. List View- onClickListener?

7. Really Hard to Debug Matrix BUG !