Tenho um problema aqui… tenho um socket server rodando no linux e tenho vários clientes conectados rodando no windows e os acentos vem todos bugados como posso resolver isto…
Estou usando para escrever e ler DataInputStream e DataOutputStream
String s = "Gisele Bündchen";
byte[] bytes = s.toByteArray(); // você não especificou o charset e isso vai bugar tudo
use algo como:
Strings="Gisele Bündchen";byte[]bytes=s.toByteArray("ISO-8859-1");// fica compatível com o WindowsStringt=newString(bytes,"ISO-8859-1");// aqui especificamos o charset, para evitar confusões
dedspr
Certo thingol, mas e quando eu tiver um cliente linux, vou poder usar o ISO-8859-1 também?
dedspr
Mudei, mas agora acontece o seguinte erro…
Vem uma parte da string e o resto vem um monte de quadradinho, como se fossem caracteres inválidos
dedspr
Qual o melhor jeito de escrever e ler no socket? usando o DatainputStream e o DataOutputStream, ou usar bufferedread?
T
thingol
Para ler e escrever em sockets, use o modo binário (usualmente DataInputStream e DataOutputStream.) Não use BufferedReader/BufferedWriter.