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 声明。

通达信【雷霆尊者排序】实战指南:高胜率竞价指标解析与优化策略 本文详细解析了通达信【雷霆尊者排序】指标在集合竞价阶段的应用,提供从基础设置到实战解码的完整指南。文章重点剖析了‘雷霆’、‘使者’、‘精选’等核心信号的逻辑与共振策略,并分享了如何结合K线、市场情绪进行综合研判与风险控制,旨在帮助短线交易者提升早盘选股效率与胜率。 阅读详情

相关推荐

Spring Boot Swagger未授权访问漏洞:原理、风险与修复方案详解

在微服务架构中,API文档管理是开发与运维的重要环节。Swagger作为RESTful API文档生成与调试的标准化工具,通过OpenAPI规范自动生成交互式接口文档,极大提升了开发效率。然而,其默认配置往往缺乏访问控制,导致文档端点直接暴露,形成未授权访问漏洞。从技术原理看,该漏洞源于Spring Boot等框架集成Swagger时,相关端点未纳入安全框架的拦截范围,攻击者可通过扫描常见路径获取完整的接口定义与数据结构。这不仅会造成敏感信息泄露,更可能成为越权操作、数据篡改等深度攻击的入口点。在工程实践中

weixin_42524171的博客 496

grails对sitemesh的支持

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

iteye_2437的博客 140

【深度解析】AURIX TC387 UCB Flash架构与避坑指南(第一篇)

摘要:UCB(用户配置块)是AURIX TC3xx芯片启动与安全的关键配置区域,位于DFLASH0存储区。每个512字节的UCB包含启动模式、安全设置等关键参数,并通过强制CRC32校验确保完整性。UCB分为启动头(UCB_BMHD)、安全配置(UCB_ORIG)及其备份(UCB_COPY)三种主要类型。不同于常规Flash,UCB具有自动擦除特性,错误配置可能导致芯片永久锁死。开发中应谨慎修改UCB,必须同时编程原始和备份版本,并确保正确的CRC校验。后续文章将详细介绍UCB编程方法和调试技巧。

2511_94612429的博客 1235

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

手把手教你用RTD2775QT/RTD2795QT打造4K便携屏:从芯片选型到Type-C一线通实战

本文详细介绍了如何利用RTD2775QT和RTD2795QT显示驱动芯片打造4K便携屏的全过程,包括芯片选型、硬件设计、固件烧录及Type-C一线通实战方案。特别针对新手常见问题提供了解决方案,帮助读者高效完成DIY项目,提升移动办公体验。

weixin_42520025的博客 718

ros入门(八)---TF坐标转换

TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。

weixin_51157015的博客 3388

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

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

lyt567的专栏 2648

MATLAB 车牌识别系统

车牌识别系统利用计算机视觉和图像处理技术,自动识别车辆牌照上的字符信息。本系统基于 MATLAB 实现车牌识别,包括图像预处理、车牌定位、字符分割、字符识别等模块。车牌识别系统是实现智能交通和公共安全的重要手段,具有广泛的应用前景。MATLAB 提供了丰富的工具和函数,可以方便地进行算法仿真和系统开发。

走向CTO的路上... 735

jsp乱码解决大全

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

kt400_hhx的专栏 4462

2026年数学建模国赛C题利器:层次分析法与主成分分析在统计建模中的应用

本文系统探讨了层次分析法(AHP)与主成分分析(PCA)在数学建模竞赛,特别是全国大学生数学建模竞赛C题中的联合应用策略。通过理论阐述、方法对比和案例实践,本文揭示了两种方法从“数据降维”到“决策评价”的完整分析链条,提出了“PCA+AHP”协同框架,并通过实际算例验证了该框架在解决复杂评价类问题中的有效性和优越性。研究表明,将PCA的客观降维能力与AHP的主观决策优势有机结合,能够显著提升统计建模的科学性、合理性和解释力,是应对日益复杂的竞赛题目的重要方法论工具。关键词:层次分析法;主成分分析;数学建模。

YOLO 41

【Unity Shader】Special Effects(十二)Glow 外发光(UI)

Properties_GlowColor ("外发光颜色", Color) = (0, 0, 0, 1)_GlowIntensity("外发光强度", Range(0, 1)) = 1参数详解:_GlowColor:外发光颜色,指定外发光的显示颜色。_GlowIntensity:外发光强度,指定外发光的显示强度,0为不可见,1为最强强度。

神码编程 934

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

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

永远的黑山 1375

Python无法拒绝的表白界面(完整代码)

Python制作一个无法拒绝的表白界面的完整代码。

AIGC 5万+

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

蓝牙模块HM-10手册

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

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

was中文乱码的问题

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

theone_echo的专栏 4456

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

WebSphere应用中文乱码问题

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

10975037的专栏 470

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

encoding编码问题

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

平凡酿就非凡 4011

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

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

zlmind技术博客 295

grails的基本配置和中文编码注意事项

grail配置1、下载下载并解压 grails.zip。 2、创建一个 GRAILS_HOME 环境变量  GRAILS_HOME=D:/DevProgram/grails   3、将 $GRAILS_HOME/bin 添加到 PATH 中  path = %GRAILS_HOME%/bin我用的IDE:IntelliJIDEA7 配置(感觉在编写View的时候不方便,没有可视化的显示,但总的来说

chenft的专栏 2312

谨慎使用Encoding.Default

在处理文本时,经常需要处理Encoding的概念。存在这个问题的原因在于,在.NET程序内文本只是string和char对象,而保存到硬盘时,或者准备用socket把它发送出去时,都得先转换成byte[]或者字节流。而转换的算法,就是Encoding。Encoding不同文本文件的行数也不同。 老外的程序里面,都喜欢用Encoding.ASCII,这是因为他们主要只使用western字符;于是我们经常要在他们的代码把Encoding.ASCII替换成Encoding.Default才能使用。 所谓Encod

qq_38655556的博客 3242

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

WebSphere: 中文乱码问题

WebSphere 中文乱码问题 jsp

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值