使用oracledb获取oracle数据时,服务器与客户端字符编码不一致?

同样的语句,通过oracledb查询返回结果总是有错误,与pl/sql返回结果不一致

const sql =
      "select UTL_RAW.CAST_TO_RAW(t.JH) as jh, to_char(t.RQ) as RQ,to_char(t.RCYL) as RCYL,to_char(t.RCYL1) as RCYL1,to_char(t.SCSJ) as scsj from cyrb.dba01 t where t.jh='" +
      jh +
      "' and rownum <10 order by t.RQ desc ";
let result = await connection.execute(sql);

node-oracle返回结果
image.png

实际上最新的日期不是2020-11-05,是2022-09-02

而且有的语句返回的rows为空,实际不为空


以上是之前的提问,近期已找到问题原因,
主要是服务器端oracle的字符编码是us7ascii,所以在查询有中文的列,返回的肯定是空值
所以在使用oracledb时,如何解决服务器与客户端字符编码不一致问题?

阅读 949
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题