一、SQLServer数据库生僻字:
1、分析yan生僻字,客户是sqlserver数据库
yǎn 字UNICODE编码U+E863,10进制: 59491,UTF-32: 0000E863,UTF-8: EE A1 A3
查询数据库发现数据库表字段存的字已经乱码,进行sql更新解决,sqlserver更新时候,值前面一定需要加N
update t_bd_person set fname_l2 = N'xx䶮' where FNumber='xxx'
更新完,s-HR界面加载该字就会正常
㙟
查询分析器执行sql,以下为举例
update T_BD_Person set FDescription_L2=N'㙟',FDescription_L3=N'㙟' where fid ='xxxx';
客户使用sqlserver数据库,生僻字入库乱码问题解决办法:
820不存在此问题,无需处理
从850版本才出现此问题
850安装管理控台补丁PT143601
860目前还未发布管理控制台补丁,还需要BOS解决
861安装管理控台补丁PT163307
8.8安装管理控台补丁PT177422,此补丁需要2024年8月底发布
8.8.1发版已经修复,无需补丁
9.0发版已经修复,无需补丁
还需手工做如下操作:
1、停止eas应用群集。
2、停止eas管理控制台(确保进程都已退出)
3、在eas/admin/config/admin.vmoptions文件中,添加配置参数 sendStringParametersAsUnicode=true
4、重新启动管理控制台,对数据中心页签的账套,选择反部署,反注册,再重新进行注册与部署。
5、启动eas应用群集。
二、Oracle数据库生僻字
数据库oracle,字段类型NVARCHAR,存入字在数据库层面乱码,可以临时进行转换处理,如:
update T_HR_PreEntry set FNAME_L2 = CAST('张' AS NVARCHAR2) where fid='4zQAAAAJm43Tlm/m'
三、如果数据库里面审批字显示正常,界面显示异常
目前s-HR产品对于这类存在其他增补面的生僻字,还未支持,计划在s-HR9.0SP1版本中解决
推荐阅读