grails 中 UTF-8 html 静态文件乱码, 与 sitemesh 有关

weblogic域的创建以及项目部署流程day02 1.进入weblogic的安装目录/weblogic/Middleware/wlserver_10.3/common/bin 下执行 sh config.sh 进入图形界面如下图: 默认选择next,进入下个界面如下图: 默认选项点击next,如下图所示: Domain name为域名,Domain location 为域的安装位置,可以更改,点击next如下图: nam... 阅读详情

遇到了一个问题:grails 项目中的 html 文件,浏览器打开全乱码。这些 html 文件全是 UTF-8 编码的,也有

 
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

头了。java 开发 web 乱码不在是问题的情况下,还让我遇到这事。

一个怪现象:浏览器里指定 GBK 编码可以正常显示(可以怀疑与平台有关);不带 index.html 的方式(即直接访问路径),如 http://localhost:8080/grails-test/ 又是另一套乱码(即乱码不一致,浏览器不能校正的)。

找问题根源吧 ……

开始怀疑 jetty 对 UTF-8 html 文件支持不好,打 war 放到 tomcat 看看,问题依旧。可排除 jetty 正常的。

接着怀疑整个 grails 项目,在 tomcat 新开一个普通的项目,加个几个 utf-8 的 html 文件,访问正常。很有可能 grails  项目中的某些过虑器作的怪。

这问题肯定是与使用了与平台有关的编码相关方法,把编码相关的操作设置平台无关的吧,可以用下面的 java 系统属性,在 tomcat 下设置属性如 bin/catalina.bat:

set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=utf-8 -Ddefault.client.encoding=utf-8 -Duser.language=zh -Duser.region=CN

运行后没问题,正常显示。但还有一个怪现象,没弄明白:用 gsp 生成的页面保存为 utf-8 的 html 文件又可正常访问。对比两个 html 文件,没发现有什么不妥的地方。

还是 google 下吧:grails html 乱码。恩,有重要提示:静态html在sitemesh中乱码的解决方法 ,但是,我不想在启动时设置系统(不想干扰其它程序),我想到在 grails 的 BootStrap init 中设置系统属性。设置如下:

 
  1. class BootStrap {   
  2.   
  3.      def init = { servletContext ->   
  4.         System.setProperty("file.encoding", "UTF-8")   
  5.         System.setProperty("default.client.encoding", "UTF-8")   
  6.         System.setProperty("user.language", "zh")   
  7.         System.setProperty("user.region", "CN")   
  8.      }   
  9.      def destroy = {   
  10.      }   
  11. }  

但还是乱码,于是我再仔细对比上面提到的两种 html 文件(一个我加的,有乱码,叫 A.html;一个是 gsp 生成手动保存下来的,不会乱码),然后尝试

 
  1. <meta name="layout" content="main" />  
<meta name="layout" content="main" />

保存到 A.html 里。奇迹出现,不会乱码了。郁闷 sitemesh 会这样,可能是 grails 过的原因。

后来把 BootStrap init 中的编码设置去了,发现 A.html 也可正常,因为 A.html 返回头(或 meta 标签指定了)有正确的编码。但在这情况下有乱码:不带 index.html 的方式(即直接访问路径),上面提到的。用

curl -I http://localhost:8080/grails-test/

返回 Content-Type: text/html; charset=iso-8859-1。这样不得不在 BootStrap init 加上编码相关的系统属性。

小结:

在 html 中用确meta layout 的元素的声明,同时在 Grails 的 BootStrap init 中设置编码相关的系统属性。

另一种简单的方法:直接在服务启动级别设置编码相关的系统属性,这样 html 也不用 layout 声明。

Ubuntu登录界面黑屏?手把手教你排查和修复LightDM启动失败(附debug命令详解) 本文详细介绍了Ubuntu系统中LightDM(Light Display Manager)启动失败导致登录界面黑屏的排查与修复方法。通过系统状态检查、调试模式分析、常见故障解决方案及高级调试技巧,帮助用户快速定位并解决LightDM相关问题,恢复正常的图形登录环境。 阅读详情

相关推荐

abaqus2matlab的安装与使用:如何用matlab提取abaqus的odb结果

官网abaqus2matlab官网地址matlab社区地址matlab社区地址在这里可以看到.m文件的源码论文:Abaqus2Matlab: A suitable tool for finite element post-processingabaqus2matlab可以处理.inp、.fil、.odb三种类型的文件。.inp文件:处理功能就在于只是单纯的输出inp文件,由于我自己写了自己的函数,不需要用到这个功能。

qianxin1234的博客 2019

grails对sitemesh的支持

最近学习了grails,但是一直迷惑,grails是构建在spring;hibernate和sitemesh基础之上的,但是sitemesh到底处于一种什么角色呢? sitemesh原本是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,又是怎么跟grails结合的呢?后来查了一些资料发现: 在"grails-app/views/layouts"目录...

iteye_2437的博客 140

Blender - Shrinkwrap - 更方便的制作贴合模型的表面来建模

Shrinkwrap 修改器 使用 Blender 想要快速建模可以贴合现有模型表面的效果:衣服、皮肤、等效果,可以使用 Shrinkwrap 修改器,这个修改器的名字其实按照英文上的理解,翻译为:收缩的包裹效果 应用 如这块铁皮,它要贴合机身弯曲的效果,可以先建好一个铁皮,再 Shrinkwrap 到一个指定的网格上 留意的参数 Target 要贴合的对象(目前我已知是可以贴合到网格对象上,实在是方便) VertexGroup 顶点组,和之前讲到过的,顶点组可以组设顶点的权重,意思这个可.

Jave.Lin 的学习笔记 6072

java 命令 乱码_解决java 命令行乱码的问题

虚拟机参数加上-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN补充:java执行cmd命令,返回结果中文乱码问题解决public static void main(String[] args) {try {// 执行ping命令Process process = Runtime...

weixin_42533243的博客 447

西门子840D新建项目

1、需要一个32位的WIN7或者XP系统,并且已经在系统中安装完成西门子840Dsl开发包和VS2008。(我采用的是XP系统虚拟机) 2、在开始->所有程序找到如下位置 3、在这个位置打开Visual Studio 4、文件->新建->项目 名称和位置都可以随意更改,点击确定。 5、在左侧选择第二个选项进入下面的界面 点击“Add Screen”按钮 可以修改“class name”然后点击“OK”返回上一个界面,再点击“Add Form” 可以修...

qq_36987047的博客 1861

淘宝x-mini-wua生成机制与硬件信息关联性深度解析

本文深度解析了淘宝x-mini-wua的生成机制与硬件信息的关联性,详细介绍了其作为设备指纹令牌的核心作用及技术实现细节。通过分析基础硬件层、环境特征层和行为特征层的数据采集,揭示了淘宝如何利用AES加密和分级加密策略防止破解,并探讨了其安全防护与对抗策略。

weixin_29243279的博客 232

WAS的JVM的设置会引起WAS日志中文乱码

如果有中文乱码可更改JVM的设置为: -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN 即可解决。

lyt567的专栏 2648

别再调PID了!用MATLAB/Simulink给四旋翼无人机搭个ADRC控制器(附完整仿真模型)

本文详细介绍了在MATLAB/Simulink环境中为四旋翼无人机搭建ADRC控制器的完整流程,包括核心原理、Simulink建模、参数调试技巧及与PID控制的性能对比。ADRC通过扩张状态观测器(ESO)有效提升无人机在复杂扰动下的控制性能,特别适合四旋翼无人机这类强耦合系统。文章还提供了完整的仿真模型和工程实践问题解决方案。

weixin_26808439的博客 382

jsp乱码解决大全

jsp中文显示乱码解决方案2006-12-27 22:56一、JSP页面显示乱码二、表单提交中文时出现乱码三、数据库连接大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。一、JSP页面显示乱码下面的显示页面(display.jsp)就出现乱码:JSP的中文处理out.print("

kt400_hhx的专栏 4462

波分复用技术原理

波分复用原理 把不同波长的光信号复用到同一根光纤中进行传送,这种方式我们把它叫做波分复用( Wavelength Division Multiplexing ) 一根光纤被划分为多个波道,多个波长以一定的间隔隔开,在光纤中独立传输。 波分复用应用演示 如果将WDM系统看作交通系统,光纤可以看作是多个车道的公用道路。 各种类型的业务就像货物一样,被打包装载到车辆中。 车辆按照分配的车道行驶至目的地,完成货物的运输。 想要提高波分复用系统的传输容量,就要增加波道数量或是提升单波传...

m0_63251770的博客 9997

【深度解析TI InstaSPIN】无传感器FOC控制的核心方案

TI InstaSPIN通过“自动识别+通用观测器+开源工具链”的组合,解决了无传感器FOC控制开发难度大、周期长的核心痛点。其核心优势在于快速统一软件观测器的通用性与高精度,以及Fly Start闭环零速启动策略的高可靠性,可适配空调压缩机等家电电机的复杂运行需求。在空调外机双电机控制场景中,InstaSPIN与TI C2000系列MCU(F280013x/F28E12x)完美契合,借助MCU的高性能DSP内核与丰富外设,可实现双电机的精准同步控制,同时降低硬件成本与开发周期。

昔时扬尘处 326

java不同容器不同操作系统下中文问题解决方法

-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN添加以上java虚拟机参数即可

永远的黑山 1375

人形机器人电路板和算法分析

人形机器人电路板与算法深度剖析 电路板领域:人形机器人电子系统分为计算、驱动、感知、能源、通信五大模块。主控板采用高性能SoM(如NVIDIA Jetson AGX Orin),需满足严格电源完整性(PDN)与信号完整性(SI)要求;关节驱动板集成MCU、GaN/SiC功率器件及高精度编码器接口,采用刚柔结合PCB以适应狭小空间。挑战包括热-振可靠性(85°C/10G振动)、高密度互连(3mil线宽)及EMC兼容性。 算法领域:运动控制依赖MPC(模型预测控制)与强化学习(RL),实现实时动态平衡;感知算法

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 306

grails' sitemesh text/html,grails 中 UTF-8 html 静态文件乱码, 与 sitemesh 有关

遇到了一个问题:grails 项目中的 html 文件,浏览器打开全乱码。这些 html 文件全是 UTF-8 编码的,也有头了。java 开发 web 乱码不在是问题的情况下,还让我遇到这事。一个怪现象:浏览器里指定 GBK 编码可以正常显示(可以怀疑与平台有关);不带 index.html 的方式(即直接访问路径),如 http://localhost:8080/grails-test/ 又是...

weixin_29016865的博客 149

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

grails' sitemesh text/html,grails 中 UTF-8 html 靜態文件亂碼, 與 sitemesh 有關 | 學步園

遇到了一個問題:grails 項目中的 html 文件,瀏覽器打開全亂碼。這些 html 文件全是 UTF-8 編碼的,也有頭了。java 開發 web 亂碼不在是問題的情況下,還讓我遇到這事。一個怪現象:瀏覽器里指定 GBK 編碼可以正常顯示(可以懷疑與平台有關);不帶 index.html 的方式(即直接訪問路徑),如 http://localhost:8080/grails-test/ 又是...

weixin_39928818的博客 148

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

WebSphere应用中文乱码问题

在JVM运行参数中增加:-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN

10975037的专栏 470

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

was中文乱码的问题

1、设置websphere的默认编码: 服务器->应用程序服务器->server1->服务器基础结构->java和进程管理->进程定义->java虚拟机->定制属性   增加属性-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh   -Duser.region=CN。重启应用程序服务器即可。 2、在每个jsp页面

theone_echo的专栏 4456

websphere服务二:websphere字符集修改

websphere字符集修改

xiao.yu的博客 5006

grails 的一些命令,中文乱码,页面标签等

一、grails 的部分命令    创建新项目:grails create-app (grailsName)    创建新groovy类(自动创建其test类): grails create-domain-class (domainName)    创建groovy类的控制类:grails create-controller (domainName)   *创建groovy类的所有

wcx11的专栏 3021

websphere 日志乱码解决

 解决步骤: 1、查操作系统语言locale 2、更改WAS参数,方法如下(以server服务器为例) 然后按如下次序,依次进入 服务器 应用程序服务器 server1 java和进程管理 进程定义 java虚拟机 然后将“jvm参数”设置成如下 -Dfile.encoding=UTF-8 -Ddefault.client.encoding=UTF-8 -Dclient

末点 1721

grails gsp页面显示数据库中html代码为转义字符解决方案

数据库中存储的是一段html代码,在grails2.3下在页面中总是显示一段被转义后的html代码,解决方案: 1:在grails-app/utils/下创建HTMLCodec.groovy,在其中的decode方法中进行反转: static decode = { theTarget ->         org.springframework.web.util.HtmlUtils.ht

解牛 3082

sitemesh装饰后的html中文乱码解决方法

应用了sitemesh装饰模板后,所有html页面,只有有中文都会出现乱码问题,导致页面加载超级慢,或直接就报错了。 郁 闷了很久,开始不知道是sitemesh搞的鬼,测试了n多都不知道是什么原因,后来搜索html乱码才知道是sitemesh引起的。 于 是搜索相关资料,综合了几个设置终于解决了,分享下解决方法。 有几个地方要改的: 1.排除不装饰的html文件目录 &lt;...

zlmind技术博客 295

WebSphere: 中文乱码问题

WebSphere 中文乱码问题 jsp

重剑无锋,大巧不工。。。 7558

encoding编码问题

encoding编码问题之一Java文件1.编辑*.java文件时发生了什么事情呢? 答:当我们用记事本编辑时,    打开紫光输入法,紫光输入法软件控制了键盘,从键盘敲击的字母变成了拼音,拼音下方显示的是GBK中的简体还是繁体取决于指定的"简体""GBK",此时上方的"yanlei"就有了下方的汉字"眼泪"而不是"眼淚".       在空格录入"眼泪"以后,表征这两个字的键盘输入文件设备缓

平凡酿就非凡 4011

grails html静态页面乱码解决

在catalina.bat下面的 :noJuliConfig 下面添加 [code="java"]set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=utf-8 -Ddefault.client.encoding=utf-8 -Duser.language=zh -Duser.region=CN[/code]

当命运之神把人抛入谷底的时候,也是人生腾飞的最佳时节。这个时候谁能积累能量,谁就能在未来获得丰收的回报;谁若自愿自艾,必定坐失良机,等在前面的将是两手空空和后悔莫及。 142

tomcat的URIEncoding的作用(转)

tomcat5中,为了保证get数据采用UTF8编码,在server.xml中进行了如下设置: &lt;Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount=&q

iteye_20002的博客 481
上一篇: JSP页面自动生成html页面或任何格式页面
下一篇: java常用图片读写程序
wudith
博客等级 码龄20年 23粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值