PL/SQL DEV utf8乱码问题 utf8 bom
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,字符集信息:数据库字符集:al32utf8本地客户端字符集:utf8plsqldev默认文件编码:utf8无bom --自己设置的,默认是自动识别问题:通过plsqldev导出某表数据为sql文件,通
千家信息网最后更新 2026年11月01日PL/SQL DEV utf8乱码问题 utf8 bom
字符集信息:
数据库字符集:al32utf8
本地客户端字符集:utf8
plsqldev默认文件编码:utf8无bom --自己设置的,默认是自动识别
问题:
通过plsqldev导出某表数据为sql文件,通过plsqldev打开后,发现中文乱码。
分析:
首先用notepad++打开sql文件,无乱码,看了下文件字符编码,是utf8无bom。
而后检查了数据库字符集与本地oracle客户端字符集设置,均为utf8。
遂怀疑是plsqldev工具字符编码识别问题,将文件转换为utf8含bom,再用plsqldev打开,无乱码。
可目前utf8含bom格式放在unix、linux环境上容易出现问题,所以改文件编码的方案就放弃了。
偶然发现另一个同样是utf8无bom的sql文件用plsqldev打开没有乱码,遂比较下,发现后者第一条sql语句中含中文,而前者是在50条以后才含有中文。
会不会是plsqldev工具按中文出现的位置去识别utf8是否含bom?
测试下,把第一个sql文件中含中文的sql语句放到第一条,用plsqdev打开,果然,无乱码!
那么,含中文的sql语句只能放在第一行才能无乱码?
验证下,把含中文的sql放到第三行,无乱码;放到第10行,无乱码;放到第20行,乱码了。
有没有更简单的方式?emmm,给这个sql文件第一行加一个中文注释试试,结果ok,无乱码。
推测:
plsqldev打开utf8文件,以中文出现的位置来判断此文件是否含bom,即前n行或前n个字符内没有出现中文,则认为此文件为utf8含bom。
解决方案:
在utf8无bom格式文件第一行加个中文注释即可。
未结:
具体是以前n行还是以前n个字符作为判断条件,目前本人尚未验证,仅仅为推测。
文件
乱码
中文
字符
字符集
编码
问题
一行
数据
语句
位置
客户
客户端
工具
数据库
方案
格式
注释
验证
以中
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会副主任毛军
科技金融是不是互联网金融
互联网属科技
金诺互联网科技
重庆互联网络科技
互联网科技与金融科技
互联网 科技创新
远信互联网科技
互联网与未来科技
浩特互联网科技
上游互联网科技
四川狮子座互联网科技
卫星互联网科技股票
互联网企业和科技型企业
互联网科技有哪些公司
成都互联网科技公司工作好不好
中科明德北京互联网科技
互联网科技资金流入
华人运通互联网科技公司
中国主要互联网科技公司
互联网巨头科技公司
广州善班互联网科技
互联网科技宣传片
新华互联网科技校企合作
来此购互联网科技有限公司
成都铂石互联网科技做什么的
互联网行业科技股
下一代互联网重大应用科技园
湖北辰鑫科技互联网
互联网金融金融科技