先判断乱码发生在哪个环节



日韩文本从表单进入程序后,可能经过网页解码、程序字符串处理、数据库连接和字段存储多个环节。某一环节已经是 Unicode,程序却再次按 Shift_JIS 或 EUC-KR 转换,🔑就会形成“🎯二次乱码”。



如果文件由程序生成,导出时应明☀️确指定 UTF🎵-8,并处理字段中的逗号、换行和双引号。仅在导入时改编码,不能修复已经在生成阶段被替换成问号的字符。



避免日韩乱码的编码规范



先备份数据库和相关表,不要直接执行批量转⚡换。分别确认数据库字段类型、数据库默认字符集、连接字符集、🎆程序内部字符串编码以及导入文件编码。对于新系统,通常应从输入到存储、查询和输出统一使用 Unicode 字符集。



不同场景下的日韩乱码修复方法



文本文件通常只保存字符对应的字节,并不一定在文件内部明确记录编码。一个🎇文件可以由 UTF-8、Shift_JIS、EUC-JP、EUC-KR 或 CP949 写入,打开程序需要根据设置猜测或读取编码。如果判断错误,同一组字节就会被解释成另一组字符。



例如,日文程序导出的 Shift_JIS 文件,用 UTF-8 强行打开时可能显示大量异常符号;UTF-8 文件被旧式日文软件读取,也可能出现完全不同的乱码。将文件扩展名从 TXT 改成 CSV、HTML 或其他格式,并不会改变文件内部编码。



先复制一份原文件,使用支持选择编码的文本编辑器打开,依次尝试 UTF-8、Shift_JIS、EUC-JP、EUC-KR 和 CP949。不要只看某🌈一行是否正常,应检查日文假名、汉字、韩文音节、标点和特殊符号是否整体合理。



举报/反馈