I'm not sure why it happens, depends on how you send and receive the encrypted stuff, sorry.
But I'm sure
you should not encrypt/send/decrypt char[], you should encrypt/send/decrypt byte[].
byte[] encrypted = encrypt(yourString.getBytes("UTF-8"));
send(encrypted);
byte[] toDecrypt;
receive(toDecrypt)
new
String(decrypt(toDecrypt), "UTF-8");