Android PHP Base64解码具有不同的结果

I have a big problem : I don't have the same result if I do base64_decode($string); in php or if I do Base64.decode(string); in android.

Example : with this string : WWhiZWWSZpNlaGSTnpljZQ==

In php, result is Yhbee’f“ehd“ž™ce .

In android, the result is Yhbee�f�ehd���ce

I think there is an encoding problem, but I don't know where, the output of my PHP server is ISO-8859-1, I don't find how to tell to Base64.decode to use this type of encoding.

Can you help me please. Thx for answers.

PS : I can't touch the PHP script.

You should try this:

 Base64.decode(content.getBytes("ISO-8859-1"), Base64.DEFAULT);

By this You convert the input String content to ISO-8859-1 encoded byte stream that will be decoded from base64.

I think the decode is fine, but Android isn't applying the right encoding (probably utf-8).

Does this content appear on an HTML page? If so, are you properly enforcing the ISO-8859-1 encoding?

Alternatively, you could also switch to UTF-8.