Per the javascript RFC, the `text/javascript` mime-type has an optional `charset` parameter. The behavior is documented at https://datatracker.ietf.org/doc/html/rfc9239#name-charset-parameter
Essentially, if the charset is unspecified, then the encoding is UTF-8. > the encoding is unfortunately not set to utf8 (like it is for the served json files). For JSON, the charset parameter is not used. Per spec, JSON is always UTF-8. See: https://www.rfc-editor.org/rfc/rfc8259#section-8.1 In Jetty, the json encoding is specified as an assumed UTF-8. See: https://github.com/eclipse/jetty.project/blob/jetty-10.0.16/jetty-http/src/main/resources/org/eclipse/jetty/http/encoding.properties This means the `charset` parameter is not produced when generating the `Content-Type` header, and is ignored when parsing the `Content-Type` header. > Is there a way to enforce that without compiling a custom version of Jetty? You can customize the in-place `MimeTypes` for a context. Examples: servletContextHandler.getMimeTypes().addMimeMapping("txt", "text/javascript;charset=UTF-8"); or webappContext.getMimeTypes().addMimeMapping("txt", "text/javascript;charset=UTF-8"); or, If you have a WEB-INF/web.xml in your webapp, you can add a `<mime-mapping>` entry. <mime-mapping> <extension>js</extension> <mime-type>text/javascript;charset=UTF-8</mime-type> </mime-mapping> Joakim Erdfelt / joa...@webtide.com On Tue, Oct 3, 2023 at 5:02 AM Alexander Farber via jetty-users < jetty-users@eclipse.org> wrote: > Hello, > > I am using Jetty 10.0.16 and when it serves static JavaScript files (I > have Consts-en.js, Consts-de.js, Consts-fr.js, ...) the encoding is > unfortunately not set to utf8 (like it is for the served json files). > > Is there a way to enforce that without compiling a custom version of Jetty? > > I have searched on the internet and also here: > > # find /usr/share/java/jetty-home-10.0.16 -type f -iname \*.prop\* > /usr/share/java/jetty-home-10.0.16/modules/deprecated.properties > /usr/share/java/jetty-home-10.0.16/modules/demo.d/demo-realm.properties > /usr/share/java/jetty-home-10.0.16/modules/demo.d/demo-login.properties > > /usr/share/java/jetty-home-10.0.16/modules/sessions/infinispan/remote/resources/hotrod-client.properties > /usr/share/java/jetty-home-10.0.16/modules/jolokia/jolokia-realm.properties > > /usr/share/java/jetty-home-10.0.16/modules/logging/jul/resources/java-util-logging-bridge.properties > > /usr/share/java/jetty-home-10.0.16/modules/logging/jul/resources/java-util-logging.properties > > /usr/share/java/jetty-home-10.0.16/modules/logging/jetty/resources/jetty-logging.properties > /usr/share/java/jetty-home-10.0.16/etc/jdbcRealm.properties > > Thank you for any hints > Alex > > > _______________________________________________ > jetty-users mailing list > jetty-users@eclipse.org > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list jetty-users@eclipse.org To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users