You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sqlplus查询结果无法正确显示日语等特殊字符问题求助

sqlplus 12连接Oracle 12c日语显示异常排查步骤
  • 第一步:确认数据库端字符集配置
    执行SQL查询数据库原生字符集:
    SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';
    
    如果数据库字符集为AL32UTF8等非JA16SJISTILDE的字符集,需将客户端NLS_LANG修改为与数据库端一致的配置,而非强制指定JA16SJISTILDE
  • 第二步:校验命令行窗口活动代码页
    启动cmd后先执行chcp查看当前代码页,日语Shift-JIS对应代码页为932,若返回值不符,执行chcp 932切换代码页后再启动sqlplus。
    如果数据库使用UTF-8字符集,需将代码页切换为65001
  • 第三步:调整命令行窗口字体配置
    右键cmd窗口标题栏→「属性」→「字体」,选择支持日语显示的字体(如MS Gothic、Meiryo等),默认点阵字体不支持日语字符渲染,会导致显示异常。
  • 第四步:确认NLS_LANG环境变量生效
    启动cmd后执行echo %NLS_LANG%,确认输出为你设置的AMERICAN_AMERICA.JA16SJISTILDE,若未生效可直接在当前会话执行命令临时生效后再启动sqlplus:
    set NLS_LANG=AMERICAN_AMERICA.JA16SJISTILDE
    
  • 第五步:校验存储数据本身是否为乱码
    如果上述配置全部正确仍显示异常,需确认插入数据时的客户端字符集配置是否正确,可执行SQL查看字段存储的原始编码:
    SELECT DUMP(待校验日文字段名,1016) FROM 目标表名 WHERE ROWNUM = 1;
    
    对比返回的十六进制编码与对应字符集的日语编码规则,确认数据入库时未发生乱码。

内容的提问来源于stack exchange,提问作者linhpq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:15:03