Alexander,

Jetty's default mime.properties file does not have a charset specified for
text/html.

You can add one in your slova.de.xml file by doing the equivalent of the
following in xml:

getMimeTypes().addMimeMapping("html", "utf-8")

The getMimeTypes() is a method inherited by the ServletContextHandler.

regards
Jan

On Sat, 11 Apr 2020 at 17:58, Alexander Farber <alexander.far...@gmail.com>
wrote:

> Good evening,
>
> on my CentOS 7 server I run Jetty by:
>
> # /usr/bin/java -Djdbc.drivers=org.postgresql.Driver -jar
> /usr/share/java/jetty-distribution-9.4.27.v20200227/start.jar
> jetty.home=/usr/share/java/jetty-distribution-9.4.27.v20200227
> jetty.base=/var/www/jetty-base-ru jetty.http.host=127.0.0.1
> jetty.http.port=8080
>
> Also I serve PHP files through FastCGI as suggested at
> https://www.eclipse.org/jetty/documentation/9.4.28.v20200408/configuring-fastcgi.html
>
> My XML config file is listed at the very bottom of this mail.
>
> However I have a problem: when I create a static HTML file in UTF-8
> encoding, with no BOM, Russian language - it is misinterpreted by browsers
> and they do not display Russian letters. When I rename the file. from .html
> to .php then it works - because the following HTTP header is suddenly added:
>
>     Content-Type: text/html;charset=utf-8
>
> Is there please a way to configure Jetty through the XML file below to
> send the header for all HTML files?
>
> I have searched Stackoverflow and the question seems to be complicated
> because of the servlet spec.
>
> I would prefer finding an XML option, because it would suit my deployment
> and Jetty-upgrades procedure best (i.e. no editing the files distributed
> with new Jetty versions, but better just configuring it once in
> $JETTY_BASE/webapps)
>
> Thank you and happy Easter :-)
> Alex
>
> PS: below is my  /var/www/jetty-base-ru/webapps/slova.de.xml, how to add
> the header there?
>
> ?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
>     "http://www.eclipse.org/jetty/configure_9_3.dtd";>
> <Configure class="org.eclipse.jetty.servlet.ServletContextHandler">
>
>     <New id="root" class="java.lang.String">
>         <Arg>/var/www/html/slova.de</Arg>
>     </New>
>
>     <Set name="contextPath">/</Set>
>     <Set name="resourceBase"><Ref refid="root" /></Set>
>
>     <Set name="virtualHosts">
>             <Array type="java.lang.String">
>                     <Item>slova.de</Item>
>                     <Item>www.slova.de</Item>
>             </Array>
>     </Set>
>
>     <Set name="welcomeFiles">
>         <Array type="string">
>                 <Item>index.php</Item>
>                 <Item>index.html</Item>
>         </Array>
>     </Set>
>
>     <Call name="addFilter">
>         <Arg>org.eclipse.jetty.fcgi.server.proxy.TryFilesFilter</Arg>
>         <Arg>/*</Arg>
>         <Arg>
>             <Call name="of" class="java.util.EnumSet">
>                 <Arg><Get name="REQUEST"
> class="javax.servlet.DispatcherType" /></Arg>
>             </Call>
>         </Arg>
>         <Call name="setInitParameter">
>             <Arg>files</Arg>
>             <Arg>$path /index.php?p=$path</Arg>
>         </Call>
>     </Call>
>
>     <Call name="addServlet">
>         <Arg>
>             <New class="org.eclipse.jetty.servlet.ServletHolder">
>                 <Arg>default</Arg>
>                 <Arg>
>                     <Call name="forName" class="java.lang.Class">
>                         <Arg>org.eclipse.jetty.servlet.DefaultServlet</Arg>
>                     </Call>
>                 </Arg>
>                 <Call name="setInitParameter">
>                     <Arg>dirAllowed</Arg>
>                     <Arg>false</Arg>
>                 </Call>
>                 <Call name="setInitParameter">
>                     <Arg>gzip</Arg>
>                     <Arg>true</Arg>
>                 </Call>
>             </New>
>         </Arg>
>         <Arg>/</Arg>
>     </Call>
>
>     <Call name="addServlet">
>         <Arg>org.eclipse.jetty.fcgi.server.proxy.FastCGIProxyServlet</Arg>
>         <Arg>*.php</Arg>
>         <Call name="setInitParameter">
>             <Arg>proxyTo</Arg>
>             <Arg>http://localhost:9000</Arg>
>         </Call>
>         <Call name="setInitParameter">
>             <Arg>prefix</Arg>
>             <Arg>/</Arg>
>         </Call>
>         <Call name="setInitParameter">
>             <Arg>scriptRoot</Arg>
>             <Arg><Ref refid="root" /></Arg>
>         </Call>
>         <Call name="setInitParameter">
>             <Arg>scriptPattern</Arg>
>             <Arg>(.+?\\.php)</Arg>
>         </Call>
>     </Call>
>
> </Configure>
>
> _______________________________________________
> jetty-users mailing list
> jetty-users@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jetty-users
>


-- 
Jan Bartel <j...@webtide.com>
www.webtide.com
*Expert assistance from the creators of Jetty and CometD*
_______________________________________________
jetty-users mailing list
jetty-users@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/jetty-users

Reply via email to