Как заставить Tomcat работать c utf-8 и кириллицей?

Для того чтобы заставить Tomcat работать с UTF-8 кодировкой и поддерживать кириллицу, необходимо выполнить несколько шагов:

1. **Настройка Tomcat:**
Вам необходимо убедиться, что Tomcat использует UTF-8 по умолчанию. Для этого откройте файл server.xml, который находится в директории conf вашей установки Tomcat. Найдите раздел <Connector> и убедитесь, что атрибут URIEncoding установлен на UTF-8.

Пример:

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

2. **Настройка приложения:**
Убедитесь, что ваше Java приложение также использует UTF-8 для работы с текстовой информацией. Для этого вы можете установить системное свойство JVM file.encoding на UTF-8.

Пример (добавить в скрипт запуска Tomcat):

   JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

3. **Правильная обработка текста:**
Убедитесь, что ваше Java приложение правильно обрабатывает и выводит текст на кириллице. Все строчки в коде и файлы с текстом должны быть сохранены в UTF-8 кодировке.

4. **Подключение фильтра CharacterEncodingFilter:**
Вы также можете использовать фильтр CharacterEncodingFilter, чтобы обеспечить корректную обработку кодировки UTF-8 в веб-приложении. Добавьте следующий фильтр в ваш web.xml:

   <filter>
       <filter-name>encodingFilter</filter-name>
       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
       <init-param>
           <param-name>encoding</param-name>
           <param-value>UTF-8</param-value>
       </init-param>
       <init-param>
           <param-name>forceEncoding</param-name>
           <param-value>true</param-value>
       </init-param>
   </filter>
   
   <filter-mapping>
       <filter-name>encodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>

После выполнения этих шагов, ваше приложение на Tomcat должно корректно работать с UTF-8 кодировкой и поддерживать кириллицу. Текст, передаваемый через приложение и отображаемый в браузере, должен отображаться корректно на кириллице.