nzsql 中文乱码解决

今天编写shell脚本往Netezza数据库写入日志,因为shell脚本是采用UTF8编码,因此使用nzsql命令执行sql时结果会乱码

执行过程如下:

nzsql -u ${DQ_NZ_USER} -pw ${DQ_NZ_PWD} -d ${DQ_NZ_DB} -host ${DQ_NZ_HOST} <<EOF
\set ON_ERROR_STOP
DELETE FROM PDATA.ADMIN.DQ_CHK_RESULT WHERE CHK_DATE = '$CURR_DATE'
AND RULE_SUB_ID = $rule_cls_id;
INSERT INTO PDATA.ADMIN.DQ_CHK_RESULT(CHK_DATE,RULE_SUB_ID,ERR_CODE,ERR_MSG,START_DATE,END_DATE)
VALUES ('$CURR_DATE',$rule_cls_id,'$CHECK_CODE','$CHECK_RESULT','$START_TIME','$END_TIME')
;
EOF
其中 CHECK_RESULT 为中文,乱码。
修改后为

export NZ_ENCODING=utf8
nzsql -u ${DQ_NZ_USER} -pw ${DQ_NZ_PWD} -d ${DQ_NZ_DB} -host ${DQ_NZ_HOST} <<EOF
\set ON_ERROR_STOP
DELETE FROM PDATA.ADMIN.DQ_CHK_RESULT WHERE CHK_DATE = '$CURR_DATE'
AND RULE_SUB_ID = $rule_cls_id;
INSERT INTO PDATA.ADMIN.DQ_CHK_RESULT(CHK_DATE,RULE_SUB_ID,ERR_CODE,ERR_MSG,START_DATE,END_DATE)
VALUES ('$CURR_DATE',$rule_cls_id,'$CHECK_CODE','$CHECK_RESULT','$START_TIME','$END_TIME')
;
EOF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值