V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cover123
V2EX  ›  程序员

请教一下, web 项目部署在 vps 上 js 乱码(仅 js)是为啥?

  •  
  •   Cover123 · 2017-09-08 13:31:33 +08:00 · 2824 次点击
    这是一个创建于 2638 天前的主题,其中的信息可能已经有所发展或是发生改变。

    maven 导出 war 包,部署在腾讯云下 tomcat,通过浏览器访问出现引入的 js 文件中文乱码。

    经测试

    1. 在本地电脑经 eclipse 启动 tomcat 部署项目,浏览器访问 js 正常
    2. 在本地电脑直接使用 tomcat 部署项目,浏览器访问 js 正常

    仅在服务器 tomcat 下部署出现通过浏览器访问 js 中文乱码问题。(在 webapp 下查看 js 文件,并没有乱码)

    另尝试过解决办法:

    1. 引入 js 时加上 charset="utf-8"
    2. tomcat 加上 URIEncoding="UTF-8"
    3. tomcat 的 catalina.bat 加上 set JAVA_OPTS utf-8 都没有成功解决。。

    js 格式为 utf-8 无 bom 格式.服务器为 windows service 2012 R2

    第 1 条附言  ·  2017-09-08 19:43:59 +08:00
    是问题太繁琐了没人回答吗。。。
    研究一天后重新归纳:
    web 项目部署在服务器端,通过浏览器访问。
    js,css 均乱码。css 可以通过设定 @charset "UTF-8 ”,而引入 js=加上 charset="utf-8"却没有效果

    将 js 格式改为 utf-8 带 bom 就可以正常访问。
    真心求解,谢谢!
    11 条回复    2017-09-10 00:04:09 +08:00
    Cover123
        1
    Cover123  
    OP
       2017-09-08 14:11:34 +08:00
    感觉比较奇怪的是,相同的部署在本地 tomcat 和服务器 tomcat,为什么仅服务器这边出现 js 乱码。。

    刚才将 js 格式改为 utf-8 带 bom 头的,竟然就没有了乱码的问题。(不是应该不带 bom 头吗)
    特来求助!谢谢
    Cover123
        2
    Cover123  
    OP
       2017-09-08 16:37:35 +08:00
    哎。要石沉大海了。。
    zhilincom
        3
    zhilincom  
       2017-09-09 01:08:06 +08:00 via Android
    用的是 Tomcat7 吗?
    WordTian
        4
    WordTian  
       2017-09-09 05:16:49 +08:00 via Android
    vps 如果是 linux 的话,默认的文档格式是 utf-8,而 web 开发环境一般是 window,是 ASCII,当你换了环境,这就有冲突了
    Cover123
        5
    Cover123  
    OP
       2017-09-09 09:47:57 +08:00
    @zhilincom 用的 tomcat9
    Cover123
        6
    Cover123  
    OP
       2017-09-09 09:49:06 +08:00
    @WordTian vps 是 windows service 2012R2 本机 win7 感觉两个环境并没有啥区别 T,T
    lukunlin
        7
    lukunlin  
       2017-09-09 11:33:44 +08:00
    现在还有几个那么多企业用 window service ?
    Cover123
        8
    Cover123  
    OP
       2017-09-09 11:54:29 +08:00
    @lukunlin 并非企业,目前学生,自己练手项目。。
    LokiSharp
        9
    LokiSharp  
       2017-09-09 12:46:13 +08:00 via iPhone
    http 头里声明一下编码吧
    Cover123
        10
    Cover123  
    OP
       2017-09-09 13:36:25 +08:00
    @LokiSharp 该声明的全声明了。。文件格式也都是 utf-8 不带 bom
    pynix
        11
    pynix  
       2017-09-10 00:04:09 +08:00
    大概是 locale 的问题吧。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:42 · PVG 21:42 · LAX 05:42 · JFK 08:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.