我有一個在Linux上的WebSphere Liberty上運行的項目。 我的語言是巴西葡萄牙語,我們有一些重音詞。 我的Java代碼將像下面的一些用戶消息:奇怪的字符編碼
...
ErroResponse erroResponse = new ErroResponse();
erroResponse.setMensagem("Esse grupo não pode ser criado. Já existe um grupo criado com esse nome.");
response = Response.status(Status.BAD_REQUEST).entity(erroResponse).build();
...
我不認爲這是一個瀏覽器編碼的問題,因爲該消息在我的服務器日誌中看起來相同。
我試圖設置使用-Dclient.encoding.override JVM編碼-Dfile.encoding到ISO-8859-1和UTF-8,但沒有成功。
在Windows服務器上運行的相同項目運行正常,顯示帶有正確口音的消息。
只有直接寫在源代碼中的消息存在這個問題。來自數據庫查詢結果的重音單詞正確呈現。
我正在使用Suse 11.4。
我真的很感激任何幫助。
感謝
一(這裏不太可能),原因可能是Java源代碼編輯爲UTF-8,但編譯成例如ISO-8859-1。 (更常見於JSP)。嘗試使用'\ u00E3'而不是''來檢查它。 –
我該如何強制它編譯爲UTF-8而不是ISO-8859-1? –
@JoopEggen你是對的。您的評論後,我可以找到解決方案。謝謝。 –