java - Exibição de caracteres latinos em uma String - Stack Overflow em Português
Como faço para exibir caráteres latinos como conteúdo de uma página web?
Esse conteúdo a ser exibido é escrito em java, que deve codifica-lo corretamente e retornar um Stringcom os valores a serem escritos para o servidor.
Estou usando a classe URLEncoder do java.
news = URLEncoder.encode(newsString, "UTF-8");
java codificação-de-caracteres
perguntada 30/09/2015 às 17:00
Se a codificação da sua página estiver correta, por exemplo ao enviar o cabeçalho HTTP:
Ou ao especificá-la no próprio HTML:
Então a princípio você não precisa fazer nada: a classe String já trabalha com caracteres Unicode (sendo representada internamente por UTF-16 se não me engano), e o próprio webserver deve ser capaz de converter essa string em bytes conforme a codificação desejada (apenas certifique-se que a codificação que você está declarando é a mesma codificação que o servidor está usando).
Outras codificações além de UTF-8 podem ser usadas (Cp1252 / Windows-1252 ou ISO-8859-1 / ISO-Latin ou alguma outra), mas não recomendo: UTF-8 é bem universal, e deve ser entendida por qualquer browser não pré-histórico.
Por fim, um comentário sobre o URLEncoder: o que ele faz é codificar uma string de forma que ela possa ser usada como URL. Isso não é a mesma coisa que codificá-la de modo a ser usada como conteúdo de uma página HTML - se você usar esse método e em seguida incluir o resultado numa página, o usuário vai ver os caracteres "estranhos". Caso você precise muito codificar sua string em ASCII, você precisa transformar os caracteres Unicode em entidades HTML - que é um processo distinto, e não sei como fazer em Java. Mas a princípio isso não deve ser necessário - e se for, deve aumentar consideravelmente o tamanho da página gerada.
respondida 30/09/2015 às 17:21
sua ideia funcionou. Criei um arquivo e escrevi em UTF-8, mesmo
30/09/2015 às 19:50
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag java codificação-de-caracteres ou faça sua própria pergunta.