关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 7974|回复: 9

[Online开发] JS增强,在保存js代码时候报错“字符集不匹配”

[复制链接]
发表于 2018-1-26 17:40:12 | 显示全部楼层 |阅读模式
JS增强,在保存js代码时候报错“字符集不匹配”,我是用的oracle(jeecg-3.7.1-oracle11g-20170919.dmp)

查看了dmp文件,都是用的nvarchar2,,改成varchar2后,还是不行。所以JS增强功能一直没法使用,没有找到合适的解决方法,所以求助一下

发表于 2018-1-29 12:04:35 | 显示全部楼层
提示什么错,详细截图贴出来
 楼主| 发表于 2018-1-30 17:59:11 | 显示全部楼层
本帖最后由 程桂 于 2018-1-30 18:03 编辑
admin 发表于 2018-1-29 12:04
提示什么错,详细截图贴出来

[2018-01-30 16:50:31] [WARN] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper:143] SQL Error: 12704, SQLState: 72000
[2018-01-30 16:50:31] [ERROR] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144] ORA-12704: 字符集不匹配

[2018-01-30 16:50:31] [ERROR] [org.jeecgframework.core.common.exception.GlobalExceptionResolver:86] 全局处理异常捕获:
java.sql.SQLException: ORA-12704: 字符集不匹配

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:754)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
        at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:972)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1192)
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3415)
        at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(Oracl
在带入dmp文件时,提示“”“导出客户机使用US7ASCIIA字符集.....” 我们的oracle是默认安装的,使用的字符集应该是如下图C:\Users\jonathan\Desktop/1513.png   可以同一个明确字符集的dmp文件不?比如就用ZHS16GBK 字符集。    我也尝试通过修改dmp文件中的16进制 字符集代号的方式来“欺骗”oracle的检查,但是在使用的时候没有解决问题
js增强的时候对表CGFORM_ENHANCE_JS  进行insert的时候就会报错
1513.png
发表于 2018-1-30 21:52:57 | 显示全部楼层
我们测试下
发表于 2018-2-1 14:07:58 | 显示全部楼层
这个问题解决了吗?我也遇到这个问题了,3.7版本的
发表于 2018-2-1 15:14:48 | 显示全部楼层
把字段CG_JS改成NVARCHAR2类型
QQ图片20180201151426.png
发表于 2018-2-1 18:36:01 | 显示全部楼层
同时,org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity这个类的cgJs属性要从byte[]改成String,不然写入后是字节码
 楼主| 发表于 2018-2-1 18:59:38 | 显示全部楼层
ymwcwee 发表于 2018-2-1 18:36
同时,org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity这个类的cgJs属性要从byte[]改 ...

确实,正想问你这个问题,同样的sql增强也有同样的问题,需要改org/jeecgframework/web/cgform/entity/button/CgformButtonSqlEntity.java  中的属性cgbSql为string    感谢感谢    终于可以用了
 楼主| 发表于 2018-2-1 19:10:28 | 显示全部楼层
ymwcwee 发表于 2018-2-1 14:07
这个问题解决了吗?我也遇到这个问题了,3.7版本的

看楼下
发表于 2018-2-2 16:32:35 | 显示全部楼层
解决方案:

   oracle11g下,请把类型改成blob,测试通过
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表