Grails引发的中文乱码问题

由写Grails过滤不良信息的Service引发的中文乱码问题

在一个Grails项目里面,我想写一个过滤不良信息的Service,而将过滤的规则放置在xml文件之中。

以下xml文件放置不良信息,包含单词、词组和句法,支持正则表达式:

<filter>
<words>
<word>fuck</word>
<word>反人民</word>
<word>去死吧</word>
<word>kill</word>
<word>bitch</word>
</words>
<phrases>
<phrase>asshole</phrase>
<phrase>beatyou</phrase>
</phrases>
<grammars>
<grammar>杀死*你</grammar>
<grammar>kick.*ass</grammar>
<grammar>impud.nce</grammar>
</grammars>
</filter>

然后是一个完成过滤功能的Service:

classFilterService...{
def
privatestaticnode=newXmlParser().parse(newFile('./config/filter.xml'))
staticStringfilter(Stringsource)...{

defsubstitution
=node.substitution.text()
defsensitive
=[node.words.word*.text().join('|'),
node.phrases.phrase
*.text().join('|'),
node.grammars.grammar
*.text().join('|')].join('|')

if(!source||!sensitive)returnsource
returnsource.replaceAll(sensitive,substitution)

}

}

就这样的代码,结果在Grails运行时出现中文问题,并且不止是页面,在filter方法里面就已经无法正确显示中文,而Service中同样的代码在普通Groovy应用程序中就没有中文问题。

按照以前J2EE开发的经验,尝试使用如下方法:

StringresultString=newString(testString.getBytes("iso-8859-1"),"UTF-8")

依旧乱码……

再次尝试:增加定义的运行参数-Dfile.encoding=UTF-8
无效……

xml文件中加入

<?xmlversion="1.0"encoding="UTF-8"?>

仍然无效……

 


 

琢磨了半天,得出解决方案:

譬如打算将整个项目编码统一成UTF-8格式的,我使用Eclipse开发,我的Eclipse默认的的编码是GBK的,那么这个可以保持不变,在项目上单击右键,选择Properties中的Resource,将Text file encoding设置成UTF-8。

注意:这样的后果是项目groovy等文件中原本使用GBK的中文会变成乱码!因此请选择合适的编码。

之后删除运行参数-Dfile.encoding=UTF-8,为什么使用了自定义运行编码参数反而出乱码,我也不知道。

再做一则改动

//将原来的
defnode=newXmlParser().parse(newFile('./config/filter.xml'))
//改为
defnode=newXmlParser().parseText(newFile('./config/filter.xml').getText())

最后,页面上面老规矩,加上<meta http-equiv="Content-Type" content="text/html; charset=GBK" />就可以了。

如果你的编码是GBK的,一样处理。

 

文章系本人原创,转载请注明作者和出处

TC3XX - MCAL知识点(三十九):AURIX™ TC3xx 的EDSADC实现旋变解码功能(应用笔记记录) 本文总结了英飞凌应用笔记中关于EDSADC旋变解码系统的关键内容。系统通过调幅解调获取电机位置和速度信号,支持内外载波生成方案,其中内部载波方案更常用(需2个DSADC通道)。重点介绍了滤波器链配置建议(避免FIR1)、系统条件要求(如偶数积分周期)以及群延迟计算方法。特别分析了SDCAP功能对硬件延迟的补偿机制,指出温度等因素可能导致外部电路延迟变化,需通过计数器测量并通过软件调整积分器起始点来消除角度误差。文中还提供了不同硬件延迟情况下的信号处理示例。 阅读详情

相关推荐

『n8n』初识界面

在首页(Overview),我们和 n8n 最常打交道的是“Workflows”、“Credentials”、“Executions”这几个面板(其实后面2个也会用到,但初学阶段可以先不管)。Workflows 面板可以看到我们创建的所有工作流,所以要给工作流起一个一眼看上去就知道是干嘛的名字。

weixin_39415598的博客 1459

由写Grails过滤不良信息的Service引发的中文乱码问题

 由写Grails过滤不良信息的Service引发的中文乱码问题在一个Grails项目里面,我想写一个过滤不良信息的Service,而将过滤的规则放置在xml文件之中。以下xml文件放置不良信息,包含单词、词组和句法,支持正则表达式:filter> words>  word>fuckword>  word>反人民word>  word>去死吧word>  word>killword

四火专栏 1603

【光学仿真】基于Matlab的LG/BG/PV/HG光束生成与特性分析【附完整源码】

本文详细介绍了如何使用Matlab进行拉盖尔-高斯(LG)、贝塞尔-高斯(BG)、完美涡旋(PV)和厄米-高斯(HG)四种特殊光束的仿真与特性分析。通过提供完整的Matlab源码,手把手指导读者生成光束、分析其强度、相位、传播特性及轨道角动量,为光学研究、激光应用及教学提供了直观高效的数值实验平台。

3a9bq4r8t2y的博客 490

Eclipse中开发Grails遇到的中文乱码问题

配置好了Eclipse中的Grails开发环境,从最初用的Grails0.5到现在的Grails1.0,不同的版本对于代码编码好象不太一样,每次只好在UltrEdit中转换才能正常,可是用Eclipse时就不能正常编辑了,因为Eclipse设置的是UTF-8环境,而代码文档好象要设置成GBK或ASCII的编码时,页面上倒能正常显示。而如果采用Eclipse的UTF-8时,界面上会出现错误或乱码,一...

wind13 261

海康威视摄像头CVE-2017-7921漏洞复现:从零到一的实战指南(含解密工具下载)

本文详细解析了海康威视摄像头CVE-2017-7921漏洞的技术原理与复现方法,提供从环境搭建到实战利用的完整指南。通过认证绕过漏洞,攻击者可获取敏感信息并执行高权限操作,文章还包含解密工具下载与防御建议,助力安全研究人员深入理解物联网设备安全风险。

weixin_29325515的博客 810

NumPy 与 Pandas 的详细应用(含实例)

本文系统介绍了Python数据分析中NumPy和Pandas两大核心库的应用。NumPy专注于高效数值计算,提供多维数组和向量化运算功能;Pandas则擅长结构化数据处理,支持数据清洗、分组统计等操作。文章详细讲解了库的安装、基础操作(数组/DataFrame创建、索引切片)、进阶功能(缺失值处理、分组聚合),并通过电商销售分析案例演示了实际应用场景。最后总结了二者的协同优势:NumPy负责底层数值计算,Pandas处理高级数据操作,配合使用可显著提升数据处理效率。建议读者从基础操作入手,结合实际案例练习,

weixin_42030577的博客 2297

grails 中文乱码如何解决

new String("中文".getBytes("GBK"),"UTF-8")

zyh20090823的博客 666

Simulink仿真入门到精通(三) Simulink信号

本系列教程是根据孙忠潇编著的<<Simulink仿真及代码生成技术入门到精通>>学习笔记。 目录 Simulink仿真入门到精通(一) Simulink界面介绍 Simulink仿真入门到精通(二) Simulink模块 Simulink仿真入门到精通(三) Simulink信号 Simulink仿真入门到精通(四) Simulink子系统 Simulink仿真入门到精通(五) Simulink模型的仿真 Simulink仿真入门到精通(六) Simulink模型保存为图片 Sim

king110108的专栏 5395

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

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

wcx11的专栏 3021

C#使用OpenCvSharp+微信模型识别多个二维码

本文介绍了一个基于OpenCvSharp和微信开源二维码检测器的多二维码识别项目。该项目通过C# WinForm实现,主要功能包括:加载图片、识别图片中的多个二维码并显示识别结果。核心代码使用了OpenCvSharp.WeChatQRCode类,通过预训练的caffe模型(detect.prototxt/detect.caffemodel和sr.prototxt/sr.caffemodel)进行二维码检测和解码。识别结果包括每个二维码的编号、内容及位置信息。项目适用于批量二维码识别场景,部署简单,识别效果良

遇见--专栏 123

【AI智能体】AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

congge 3665

java groovy 乱码,Grails 引发的中文乱码问题

在一个 Grails 项目里面,我想写一个过滤不良信息的 Service,而将过滤的规则放置在 xml 文件之中。以下 xml 文件放置不良信息,包含单词、词组和句法,支持正则表达式:fuckkillassholekick.*assimpud.nce然后是一个完成过滤功能的 Service:classFilterService{def private static node=newXmlParse...

weixin_42629522的博客 358

RedCap:一种通信技术的概述

总结起来,RedCap是一种基于数据包交换的通信技术,它提供了一种高效、可靠的数据传输机制。通过使用RedCap,我们可以轻松地发送和接收数据包,并确保数据的完整性和正确性。在上面的示例中,我们首先导入了RedCap库,并创建了一个RedCap实例。然后,我们定义了目标地址和源地址,并创建了一个数据包,其中包含了目标地址、源地址和要发送的数据。本文将介绍RedCap的基本原理和使用方法,并提供一些相关的源代码示例。RedCap还提供了其他一些功能,如数据包的重传机制、流量控制和拥塞控制等。

YgjWeb的博客 900

Grails & MySQL 中文问题解决

在用grails做第一个测试系统的时候遇到了中文乱码问题,本以为是grails的问题,从网上找了找才发现是mysql的问题。。 。 解决方法是:修改mysql安装路径下的my.ini文件 # CLIENT SECTION # ---------------------------------------------------------------------- # # The fo...

Adventure 132

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IDEA的使用指南

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

IntelliJ IDEA 14 中Grails 用 SQL取出的内容中文乱码解决

情况描述:我用的是GRAILS语言,程序打包后在服务器端运行很正常,但在用IDEA进行测试的时候,却发现有部分中文有乱码。其中用GRAILS的DOMAIN取出的中文显示正常,但用SQL通过firstRow取出的中文内容都是乱码。这些乱码在显示到页面之间就已经是乱码了。 请注意前提:我服务器上的TOMCAT用的是GBK,数据库的SQLSERVER2008。 经过:查了两天,改了以下内容: ...

caihexi 282

蓝牙模块HM-10手册

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

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Intellij IDEA开发Grails应用的中文问题

1、创建grails项目的时候采用系统默认的编码,中文的windows默认是gbk。如果再gsp里面直接写中文,再浏览器看到的是乱码。修改Confige.groovy文件, [code="java"]grails.views.gsp.encoding="UTF-8"[/code]修改为 [code="java"]grails.views.gsp.encoding="GBK"[/code]在浏览...

softwareynu的专栏 296

grails配合mysql的中文乱码问题

问题描述:客户端提交的中文能正确的回显在浏览器上,但写入mysql数据库乱码,之后读取也乱码. 问题原因:mysql编码问题,mysql默认编码为latin1,需要修改为utf-8 解决方案:停止mysql服务,修改mysql配置文件(linux下为/etc/mysql/my.cnf, windows下为安装目录下my.ini),在[client]和[mysqld]下各添加default-ch...

人生五十年 200

grails ckeditor上传文件,中文名称乱码解决

打开grails插件目录,打开ckeditor,找到grails-app/controllers/org.gualdi.grails.plugins.ckeditor/StandardFileManagerConnectorController 然后找到里面的,文件保存代码: if (FileUtils.isAllowed(f.ext, type)) { ...

_简单_ 243

关于使用IDEA开发Grails项目乱码的问题

关于Grails乱码的问题 个人测试了以后 还是属于编辑器的问题 对于IDEA来说安装后,默认的使用系统编码(GB2312),我们最好是设置成UTF-8 其实挺简单的 按照下面图中的步骤,就可以在IDEA中解决Grails乱码的问题     选择Settings--&gt;General修改下图的编码设置就OK了!         对于其他网站说的修改文件,在这里就没有必要了,不需要修改任...

Leo.Tao 279

grails domain 类包含中文的解决方法

想在domain class 的约束条件中加入中文,但是gsp页面中却显示乱码    gender(inList:[&apos;男&apos;, &apos;女&apos;])有人说把所有文件用编辑器转换位utf-8的格式保存就可以了。但是我用这种方法连编译都过不去。我的解决方法是,保持原来的文件格式, 男用 /u7537 代替,女用 /u5973 代替这样gsp显示就没问题了。g

killua001的专栏 481

我碰到的grails的编码问题

初学Grails,看着官网的新手指导很快搭建了个项目框架。然后开始写MVC三层的代码。 在写MC两层的时候都没问题,可是写到view层的时候却出现了乱码。我不写在view层中的html页面也乱码。 不管三七二十一,乱码解决: 1、项目开发环境的编码统一了。我比较心狠,所有的东西都统一为utf-8编码。我用的是eclipse 可以参考([url]http://www.iteye....

nil 189

Fedora 14 下grails中文乱码问题(解决方法)

MySQL默认字符编码为latin1,因此用Grails写入数据时会导致乱码,修改方式为: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹 启动mysql后,以root登录...

wendawu的专栏 166

GRAILS AJAX

一个生于2005年以后的网站,如果没有AJAX的元素在里面,只能说这个站点已经out了。作为一个在AJAX大行其道的年代里诞生的快速开发框架,GRAILS对AJAX应用开发的支持那是相当的到位。至少,在我看来,除了updater有时候跳到其它地方去,其他的简直是完美。 首先,GRAILS定义了一系列的tags从而使AJAX应用变得简单。这些AJAX相关的Tag,名称中都包含有remote这个...

belmount 231

grails整合freemarker插件的中文乱码解决及FreeMarker配置

如果你用的是utf-8编码,在grails中使用freemarker出现乱码,可以用以下方法解决。 打开C:\Documents and Settings\Administrator\.grails\1.1.1\projects\monitor\plugins\freemarker-0.1.1\FreemarkerGrailsPlugin.groovy文件(我的项目是monitor),把doWi...

以AI漫画为主。 199
上一篇: 由写Grails过滤不良信息的Service引发的中文乱码问题
下一篇: 使用Groovy的Adapter模式来处理遗留代码
RayChase
博客等级 码龄20年 71粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值