The Content-Type header sent for asset and module responses does not contain a charset specification. When they are loaded from within a page, browsers seem to assume that they have the same charset as the page, so as long as SymbolConstants.CHARSET is the same as the resource's charset, everything works fine. Changing the symbol value will cause the browser to use that to interpret the resonse and the result will probably be wrong.
When requesting the module/asset in a separate browser tab, is is interpreted as ISO-5559-1 (HTTP 1.1 default charset). That can be seen when starting the tapestry-core/app1 test app and navigating to http://localhost:8080/tapestry-core/modules/moment.js. All the special characters in the i18n section are broken.