Веб-сайт Tomcat / Grails / Ubuntu не отображает заглавные буквы с ударением - PullRequest
0 голосов
/ 09 января 2020

Моему приложению grails не удается отобразить некоторые заглавные буквы, когда они имеют акцент. Символы 'Á' и 'Í' не правильно закодированы. То есть: слово «CARACTERÍSTICAS» печатается как «CARACTER�? STICAS». Это происходит только с заглавными буквами «А» и «Я». Буква 'O' хорошо печатается с акцентом.

Все работает хорошо на моем компьютере windows для разработки, но происходит сбой, когда я помещаю приложение на сервер Ubuntu, поэтому я думаю, что это связано с сервером.

Сервер работает под управлением Ubuntu 16.04.1 LTS и Tomcat 8. Я проверил, что в etc / default / tomcat содержится:

JAVA_OPTS="-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8"

Файл application.yml устанавливает в конец UFT-8

grails:    
    converters:
        encoding: UTF-8

Я также проверил соединитель в конфигурации. xml устанавливает URIEncoding в UTF-8:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />

Файл ресурсов проекта также кодируется в UTF-8

И, наконец, все мои файлы gsp содержат строку:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

Редактировать 1: Источником текста являются «файлы ресурсов» для перевода. Использование для печати. ​​

У меня закончились идеи. Любая помощь будет оценена. Заранее спасибо

Редактировать 2 - Решение: Файл ресурсов был в UFT-8. Как только я сменил его на ISO-8859-1, он заработал. По какой-то причине файлы ресурсов были в этом формате по умолчанию.

1 Ответ

0 голосов
/ 10 января 2020

Как вы говорите в комментариях (пожалуйста, отредактируйте их в своем вопросе), что эта проблема обнаруживается с переведенными ресурсами, я предполагаю, что у вас есть ресурсы в Language.properties файлах, и прочитайте их через ResourceBundles. Эти файлы свойств должны быть в кодировке ISO-8859-1, согласно стандарту Java. Это, скорее всего, приводит к \u кодированным символам в файле.

Проверьте инструмент native2ascii из JDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...