SQL*Plus 执行中文 SQL 文件,如何避开乱码坑
先看清三个关键角色执行 SQL 文件时至少涉及三处字符集Linux Locale由 LANG 或 LC_CTYPE 控制影响 Shell 如何处理文本。SQL*Plus 客户端字符集由 NLS_LANG 控制。SQL 文件实际编码常见是 UTF-8 或 GBK。核心原则很简单SQL 文件编码要和 NLS_LANG 对应的客户端字符集一致再由 Oracle 负责客户端与数据库之间的字符集转换。这里最容易误解的是NLS_LANG 表示客户端字符集不是数据库字符集。02 | UTF-8 文件的推荐配置大多数 Linux 环境和编辑器默认已经使用 UTF-8因此更推荐统一使用 UTF-8。export LANGen_US.UTF-8export NLS_LANGAMERICAN_AMERICA.AL32UTF8如果使用中文 Locale也可以是export LANGzh_CN.UTF-8export NLS_LANGSIMPLIFIED CHINESE_CHINA.AL32UTF8SQL 文件建议保存为UTF-8无 BOM也就是 UTF-8 without BOM如果 SQL 文件本身是 GBK 编码才使用export LANGzh_CN.GBKexport NLS_LANGSIMPLIFIED CHINESE_CHINA.ZHS16GBK03 | 不要盲目照抄数据库字符集很多人看到数据库字符集是 ZHS16GBK就直接设置export NLS_LANGSIMPLIFIED CHINESE_CHINA.ZHS16GBK这只有在客户端 SQL 文件本身也是 GBK 编码时才合适。如果 SQL 文件是 UTF-8而数据库字符集是 ZHS16GBK客户端仍然应该按 UTF-8 设置export NLS_LANGAMERICAN_AMERICA.AL32UTF8此时 Oracle 会完成字符集转换UTF-8客户端↓Oracle Character Conversion↓ZHS16GBK数据库所以排查时不要只盯数据库字符集更要先确认 SQL 文件到底是什么编码。04 | 如何确认文件和数据库字符集查看 SQL 文件编码优先用file test.sqlfile -i test.sql如果输出中看到 charsetutf-8说明是 UTF-8。若显示 UTF-8 Unicode (with BOM)说明文件带 BOM。也可以用 iconv 验证 UTF-8 是否合法iconv -f UTF-8 -t UTF-8 test.sql /dev/nullecho $?返回 0 表示合法 UTF-8如果出现 illegal input sequence说明不是合法 UTF-8。检查是否带 BOMxxd -l 16 test.sql如果文件开头出现ef bb bf说明带 BOM。数据库字符集可以用 SQL 查询SELECT valueFROM nls_database_parametersWHERE parameter ‘NLS_CHARACTERSET’;常见结果可能是 AL32UTF8 或 ZHS16GBK。05 | LC_ALL 不一定要设置通常不需要刻意设置 LC_ALL。Locale 优先级大致是LC_ALL↓LC_*↓LANGSQL*Plus 中文乱码更相关的是LANGLC_CTYPENLS_LANG很多环境只设置下面这一项就够了export LANGen_US.UTF-8LC_ALL 是强制覆盖所有 Locale 设置并不是解决 SQL*Plus 中文乱码的关键。有些系统还可能没有安装对应 Locale导致 cannot change locale。可以先确认系统支持项locale -a06 | 一套稳妥排查顺序遇到乱码时建议依次执行localeecho $LANGecho $NLS_LANGfile -i test.sql再查数据库字符集SELECT valueFROM nls_database_parametersWHERE parameter‘NLS_CHARACTERSET’;

相关新闻

AI 辅助设计稿转代码工程复盘:从 Figma 设计 Token 到 React 组件的自动化流水线

AI 辅助设计稿转代码工程复盘:从 Figma 设计 Token 到 React 组件的自动化流水线

AI 辅助设计稿转代码工程复盘:从 Figma 设计 Token 到 React 组件的自动化流水线 一、设计稿转代码的"最后一公里":为什么一键生成总是不可用? Figma 到代码(Design-to-Code)在过去三年经历了从"AI 魔法…

2026/7/22 10:20:40 阅读更多 →
TMS320C6424 DSP开发实战:从芯片命名到上电启动全解析

TMS320C6424 DSP开发实战:从芯片命名到上电启动全解析

1. 项目概述:从一颗芯片的“身份证”说起如果你刚拿到一颗德州仪器(TI)的TMS320C6424 DSP芯片,看着丝印上那串复杂的字符“TMS320C6424ZWTQ6”,是不是有点无从下手?这串字符可不是随便印上去的,…

2026/7/22 10:20:40 阅读更多 →
嵌入式系统时序参数解析:从建立时间到PCB布局的实战指南

嵌入式系统时序参数解析:从建立时间到PCB布局的实战指南

1. 项目概述与核心价值 在嵌入式系统,尤其是基于DSP或ARM的复杂SoC设计中,硬件工程师和底层驱动开发者经常会遇到一个看似枯燥却至关重要的环节:解读芯片数据手册中的时序参数表。这些表格里密密麻麻的“最小”、“最大”、“典型”值&#x…

2026/7/22 10:20:40 阅读更多 →

最新新闻

B2B外贸询盘管理白皮书:询盘接收·智能回复·客户跟进全流程

B2B外贸询盘管理白皮书:询盘接收·智能回复·客户跟进全流程

摘要 B2B外贸询盘管理正在经历从"人工驱动"到"AI智能体驱动"的范式转移。据IDC发布的《2026年全球智能客服市场半年报》数据,2026年全球智能客服市场规模预计达186亿美元,年复合增长率58%。与此同时,Gartner 2026年企业采…

2026/7/23 16:11:47 阅读更多 →
企业AI搜索引擎优化选型白皮书:如何选择一家靠谱的GEO服务商

企业AI搜索引擎优化选型白皮书:如何选择一家靠谱的GEO服务商

摘要:本文聚焦企业在AI搜索时代如何系统化评估GEO服务商,从技术自研能力、AI平台覆盖度、数据安全保障、实战案例深度、团队配置与交付模式六大维度构建评估框架,深入剖析选型中常见的六大认知误区并逐一给出避坑指南,结合多家代表…

2026/7/23 16:11:47 阅读更多 →
YOLOv8与CBAM融合提升目标检测性能

YOLOv8与CBAM融合提升目标检测性能

1. YOLOv8与CBAM融合的背景与价值在目标检测领域,YOLO系列算法因其出色的实时性和准确性一直备受关注。YOLOv8作为该系列的最新版本,在速度和精度之间取得了更好的平衡。然而在实际应用中,特别是面对复杂场景和小目标检测时,模型的…

2026/7/23 16:11:47 阅读更多 →
RWKV 一个可并行训练的 RNN

RWKV 一个可并行训练的 RNN

一、开篇:一个可并行训练的 RNN 2021 年前后,一位名叫 Bo Peng(彭博) 的独立研究者开始了一个雄心勃勃的开源项目。他想回答一个看似"反潮流"的问题: 在 Transformer 统治一切的时代,RNN 真的死了吗?能不能造一个既像 Transformer 那样能并行训练,又像 RNN …

2026/7/23 16:11:47 阅读更多 →
BepInEx:Unity游戏Mod开发的标准化插件框架解析与实践

BepInEx:Unity游戏Mod开发的标准化插件框架解析与实践

1. 项目概述:为什么我们需要BepInEx? 如果你是一名Unity游戏玩家,尤其是热衷于《英灵神殿》、《觅长生》、《太吾绘卷》这类由Unity引擎开发的PC游戏,那么你一定对“Mod”这个词不陌生。Mod,即游戏模组,是玩…

2026/7/23 16:11:47 阅读更多 →
AI认知的六个关键维度:从技术到伦理的全面解析

AI认知的六个关键维度:从技术到伦理的全面解析

1. 项目概述:AI认知的六个关键维度"AI的六重真相"这个标题本身就揭示了当前人工智能讨论中普遍存在的认知偏差。从业十年,我发现大众对AI的理解往往停留在两个极端:要么过度神化其能力,要么彻底妖魔化其威胁。实际上&am…

2026/7/23 16:10:47 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻