传入中文参数导致的一系列乱码问题
来源:互联网 发布:如何推广淘宝网店 编辑:程序博客网 时间:2024/05/01 18:56
我用struts2传入参数(该参数是中文)结果出现了
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: ?? near line 1, column 749 [select new map( idProperty.objectName as objectName, idProperty.deployment.dbid as deploymentDbid ) from org.jbpm.pvm.internal.repository.DeploymentImpl as deployment, org.jbpm.pvm.internal.repository.DeploymentProperty as idProperty, org.jbpm.pvm.internal.repository.DeploymentProperty as keyProperty, org.jbpm.pvm.internal.repository.DeploymentProperty as versionProperty where idProperty.key = 'pdid' and idProperty.deployment = deployment and keyProperty.key = 'pdkey' and keyProperty.objectName = idProperty.objectName and keyProperty.deployment = deployment and versionProperty.key = 'pdversion' and versionProperty.objectName = idProperty.objectName and versionProperty.deployment = deployment and keyProperty.stringValue = ''??'' ]
org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
网上找好像是字符转换的问题
于是我把接受的参数转换成utf-8
String processDefinitionKey = new String(deploymentId.getBytes(),Charset.forName("utf-8"));
然后debug,发现processDefinitionKey是乱码。。。。
而我用
String processDefinitionKey = new String(deploymentId.getBytes(),Charset.forName("GBK"));debug是正常的。。。
于是我输出eclipse默认编码
System.out.println("defaultCahrset-->"+Charset.defaultCharset());
发现是gbk..
我用网上的方法改了eclipse的默认编码:网址如下
http://www.cnblogs.com/smartdog/archive/2011/05/23/2054602.html
又用project的clean重新编译了类
最后不再有错误。。
如果没有改eclipse默认编码
可以用
String processDefinitionKey = new String(deploymentId.getBytes(),Charset.forName("UTF-8"));
试试,他是从二进制转换,应该不会出现乱码
如果改了eclipse默认编码就不需要用
这其中还有一个让我弄了半天
<s:a action="processDefinitionAction_deleteAll?deploymentId=‘%{key}’">删除</s:a>
<s:a action="processDefinitionAction_deleteAll?deploymentId=%{key}">删除</s:a>
注意看 第一句有单引号' '。。。。这个是不能加的。。。
如果你输出processDefinitionKey发现有单引号就是不对了
- 传入中文参数导致的一系列乱码问题
- href传入参数含有中文,乱码问题
- 【解决问题】href传入参数含有中文,乱码问题
- easyui的datagrid表格reload属性传入中文参数乱码问题
- 中文作为参数传入 window.showModalDialog出现乱码的解决办法
- 中文作为参数传入 window.showModalDialog出现乱码的解决方法
- php接收GET方法传入的中文参数乱码深究
- php接收GET方法传入的中文参数乱码深究
- php接收GET方法传入的中文参数乱码深究
- mysql查询时传入中文时的乱码问题
- 页面传入后台的参数 乱码问题处理
- Android网络请求,请求参数是中文导致的乱码问题
- Spring MVC 参数包含中文会导致乱码的额问题,解决方案
- 【web】 request传入后台 中文乱码问题
- JSP传入后台 中文乱码问题
- 解决前台传入参数乱码问题
- JavaScript利用URL向后台传入中文参数乱码问题解决之道!
- JavaScript利用URL向后台传入中文参数乱码问题解决之道
- 我的2012
- [LeetCode] Recover Binary Search Tree
- 例解 autoconf 和 automake 生成 Makefile 文件
- ArcGis与.net颜色转换
- 排序算法之鸡尾酒排序
- 传入中文参数导致的一系列乱码问题
- c++ 函数后面的const理解
- Arcgis Server系列 ADF的开发与实例
- android MediaRecorder 录制音频、视频代码片段
- Java 程序员这个职业赚钱吗?能赚多少钱?
- Java File I/O :Reader/Writer and when a Stream
- [LeetCode] Validate Binary Search Tree
- VB.NET应用程序中多线程的应用实例
- windows下修改eclipse的默认编码 转