问题描述:用a.sql文件执行insert,不论是通过pl/sql还是sqlplus @文件名都是中文数据出现乱码。
绝大多数情况是环境变量NLS_LANG的值和数据库字符集不一致导致。
查看环境变量 echo $NLS_LANG
查看数据库字符集 select userenv('language') from dual;
如果二者不一致,修改其一使二者一致。
建议修改NLS_LANG,方便、简单、安全
修改NLS_LNAG,有两种方式
1,临时修改 在当前登录终端执行export NLS_LANG=XX (XX:表示数据库字符集)
本地登录退出后失效
2,永久修改 修改.bash_profile,在文件中加入export NLS_LANG=XX (XX:表示数据库字符集)
重新登录后永久生效
如果在设置环境变量的时候出现“XX: not a valid identifier”,检查XX中是否有空格,如果有空格要将XX用双引号包括。例如:export NLS_LANG=“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
以上内容选自http://szh-java.iteye.com/blog/1869360
-------------------------------------------------------------------------------------------------------------------------------------解决方案
1. 登录: sqlplu 用户名/密码@数据库
2. export NLS_LANG= AMERICAN_AMERICA.ZHS16GBK
3. 执行@文件名
sql>@c:\test.sql
相关推荐
oracle 使用sqlplus导入大sql文件,需熟悉linux命令,批量导入sql文件以及导入乱码解决方案
因此,当编码不匹配时,就会出现乱码。 2. **使用记事本打开并重新保存**: 第一步是使用记事本打开CSV文件。记事本是一个简单的文本编辑器,它允许查看原始字符编码。打开文件后,如果中文已经正常显示,说明文件...
在Oracle数据库管理中,遇到导入数据时出现中文乱码的问题,通常与字符集设置有关。此问题中的情况是,从一个使用ZHS16GBK字符集的源数据库导出的数据在导入到使用WE8ISO8859P1字符集的目标数据库时出现了乱码。这是...
5. **备份与恢复**: 如果已经存在乱码数据,考虑使用`EXPDP`导出数据,然后在新字符集中使用`IMPDP`导入。注意,这可能会导致数据丢失或变形,因此在操作前务必做好充分的数据备份。 通过以上步骤,你应该能够解决...
### PL/SQL 导出数据至 Excel 的三种方法详解 #### 方法一:直接导出(适用于少量数据) 此方法较为直观简单,适用...此外,需要注意的是,在处理含有中文字符的数据时,需要特别关注编码问题,以避免出现乱码情况。
不过,使用`internal_use`可能会导致乱码问题,或者某些表中的数据无法读取。 8. **再次关闭数据库**: ```sql sql> shutdown immediate ``` 9. **重启数据库**: ```sql sql> startup ``` 10. **检查新的...
4. **导入注册表信息**:创建一个注册表文件,包含Oracle客户端的相关配置,然后导入到系统注册表,以确保系统能够识别Oracle Home。 5. **创建tnsnames.ora文件**:这是Oracle网络配置文件,定义了数据库连接的...
在PL/SQL开发环境中,可能遇到中文乱码问题。解决方法是设置`NLS_LANG`环境变量,或者在PL/SQL Developer等工具中设置适当的字符集。 对于数据库中的对象,如表、视图和索引,可以使用SQL命令进行操作。`DESC`命令...
这是因为不同的字符集对字符的表示方式不同,转换过程中可能出现乱码或者无法识别的字符。因此,在更改字符集之前,强烈建议先备份数据,然后在新的字符集中重新导入数据,以确保数据的完整性和一致性。 以下是进行...
- **使用正确的字符集进行数据导入导出**:在使用SQL*Loader、SQLPlus或其他工具时,指定正确的字符集参数。 - **转换字符集**:如果数据已经存在乱码,可能需要使用工具进行字符集转换。 文件名中提到的"Oracle10g...
- **字符编码**:在JSP中设置请求字符集,避免乱码问题,后期通过filter技术统一处理。 以上是DRP培训日志中的关键知识点,涵盖了项目开发、系统设计、数据库管理、面向对象编程、报表工具使用、前端交互等多个...
4. **解决乱码问题:** 在安装过程中可能会遇到乱码问题,可以尝试通过以下命令临时解决: ```bash export LC_ALL=en_US export LANG=en_US ``` ##### 测试 Oracle 数据库 完成安装后,需进行一系列测试以验证...