Size: a a a

2020 July 13

АК

Алексей Киянов... in learn.java
Вопросительные знаки.
источник

АК

Алексей Киянов... in learn.java
источник

АК

Алексей Киянов... in learn.java
Кстати если просто открыть страницу в браузере (локально, без томката), то все отображается норм
источник

GV

Gukov Viktor in learn.java
В сторону UTF BOM смотрел?
источник

АК

Алексей Киянов... in learn.java
Только пробовал сохранить вьюшку в такой кодировке, думал идея ломает все
источник

АК

Алексей Киянов... in learn.java
в идее кстати тоже везде выставлена ютф
источник

A

Anton in learn.java
Алексей Киянов
Кстати если просто открыть страницу в браузере (локально, без томката), то все отображается норм
Заголовки http браузер какие видит?
Content-Type: text/html; charset=utf-8 ?
источник

АК

Алексей Киянов... in learn.java
<!DOCTYPE html>
<html lang="en">
<head>
 <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
источник

GV

Gukov Viktor in learn.java
Алексей Киянов
народ! помогите подружить томкат с кириллицей, я уже все перепробовал (и поиском по группе тоже не первый день лазию и в гугле не забанен, вы последняя истанция, честно. Если не поможет - сожгу все к хуям).
На данный момент есть:
1. Указание кодировки в server.xml
2. Указана кодировка в каждой вьюшке (.html)
3. Сделан WebFilter
4. Указана кодировка билда в pom.xml
5. Пробовал к RequestMapping городить (path = "/",  produces = "text/html;charset=UTF-8")
6. Проверено что текст в html действительно сохранен в UTF-8
Какие будут рекомендации? Если у кого есть готовый билд томката, который понимает, что русские - тоже буквы, готов рассмотреть обмен на пиво
Можно ещё в java_opts
Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8
источник

АК

Алексей Киянов... in learn.java
Gukov Viktor
Можно ещё в java_opts
Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8
спасибо! попробую
источник

АК

Алексей Киянов... in learn.java
Не помогло.
вот что есть про это в printenv:
добавлено мной:
JAVA_OPTS=-Djava.awt.headless=true - Djava.security.egd=file:/dev/./urandom - Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8

и
была там до меня:
CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC - Dfile.encoding=UTF-8
источник

АК

Алексей Киянов... in learn.java
после добавления переменной томкат перезапустил
источник

АК

Алексей Киянов... in learn.java
надо попробовать на винде еще
источник

АК

Алексей Киянов... in learn.java
LANG=ru_RU.UTF-8
кстати, что как бы намекает, что системная кодировка тоже UTF
источник

АК

Алексей Киянов... in learn.java
я так понимаю, мне повезло с этим вопросом? потому что инфы в интернете не так уже и много. это значит либо процедура лечения предельно проста, поэтому никто не гуглит, либо проблема появляется крайне редко)
источник

DS

Dmitriy Shilnikov in learn.java
Алексей Киянов
я так понимаю, мне повезло с этим вопросом? потому что инфы в интернете не так уже и много. это значит либо процедура лечения предельно проста, поэтому никто не гуглит, либо проблема появляется крайне редко)
Не, в этом чате постоянно это спрашивают
источник

GV

Gukov Viktor in learn.java
Алексей Киянов
я так понимаю, мне повезло с этим вопросом? потому что инфы в интернете не так уже и много. это значит либо процедура лечения предельно проста, поэтому никто не гуглит, либо проблема появляется крайне редко)
В большинстве случаев хватает статьи с баелдунга
источник

GV

Gukov Viktor in learn.java
источник

АК

Алексей Киянов... in learn.java
да, видел её в переводе около часу назад. оттуда же почерпнул про вебфильтр
источник

АК

Алексей Киянов... in learn.java
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import java.io.IOException;

@WebFilter(filterName = "CharSetFilter",
       urlPatterns = "/**",
       initParams = @WebInitParam(name = "requestEncoding", value = "UTF-8"))
public class CharSetFilter implements Filter {
   private String encoding;

   public void init(FilterConfig config) throws ServletException {
       encoding = config.getInitParameter("requestEncoding");
       if (encoding == null) encoding = "UTF-8";
   }

   @Override
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
           throws IOException, ServletException {
       // Respect the client-specified character encoding
       // (see HTTP specification section 3.4.1)
       if (null == request.getCharacterEncoding()) {
           request.setCharacterEncoding(encoding);
       }

       // Set the default response content type and encoding
       response.setContentType("text/html; charset=UTF-8");
       response.setCharacterEncoding("UTF-8");

       next.doFilter(request, response);
   }
}
источник