如何在SQL Developer中通过脚本导出UTF-8编码的数据?
解决SQL Developer执行脚本时特殊字符显示问号的问题
1. 调整SQL Developer全局编码设置
- 打开SQL Developer,依次点击
工具->首选项->环境->编码 - 选择编码为
UTF-8(对应值为UTF8或AL32UTF8),保存设置后重启SQL Developer
2. 在脚本中强制指定会话级NLS参数
在导出脚本开头添加以下SQL语句,确保会话编码与导出目标一致:
ALTER SESSION SET NLS_CHARACTERSET = 'AL32UTF8'; ALTER SESSION SET NLS_NCHAR_CHARACTERSET = 'AL16UTF16'; ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'; ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
3. 明确SPOOL导出的编码格式
执行SPOOL命令时直接指定UTF-8编码,覆盖默认设置:
SPOOL D:\export\result.txt ENCODING UTF8; -- 你的查询或导出逻辑 SPOOL OFF;
(导出CSV等其他文本格式文件时,同样需要添加ENCODING UTF8参数)
4. 配置系统环境变量(Windows系统)
- 右键
此电脑→属性→高级系统设置→环境变量 - 在系统变量中新建
NLS_LANG,变量值设为.AL32UTF8 - 重启SQL Developer后生效
5. 验证查询结果面板的编码
在SQL Developer的查询结果面板,点击顶部的格式按钮,选择编码为UTF-8,确保面板显示的字符编码正确
内容的提问来源于stack exchange,提问作者Jeremy
相关产品推荐
相关产品推荐

