PL/SQL DEV utf8乱码问题 utf8 bom
发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,字符集信息:数据库字符集:al32utf8本地客户端字符集:utf8plsqldev默认文件编码:utf8无bom --自己设置的,默认是自动识别问题:通过plsqldev导出某表数据为sql文件,通
千家信息网最后更新 2025年01月26日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安全错误
数据库的锁怎样保障安全
mysql数据库修复大师
广州彩虹网络技术有限公司
家庭网络安全法全文
数据库如何删除干净
亚厦装饰股份有限公司软件开发
solr 数据库
只复制粘贴未隐藏的数据库
迎接2019网络安全检查
mc服务器 招管理
小学生网络安全教育绘画
网络安全风险检测
网络安全中金融
软件开发相关分录
phpcms数据库位置
刺激战场连接服务器显示器
一个数据库多个实例
网络安全岗位有年龄限制吗
浙江网络安全培训服务机构
数据库alet日志在哪
写入数据库sql失败
数据库什么是存储过程以及其应用
光彩玖玖互联网科技
ai软件开发面试
只复制粘贴未隐藏的数据库
如何找到网络安全人员
源服务器管理
网络安全巡警
宽带拨号服务名服务器名
医药管理服务器名称
mysql软件如何创建数据库