[color=darkred][size=medium][b]一、查找乱码原因[/b][/size][/color]
[b]从源头开始查找:
1.操作系统或查看软件支持的字符集:如支持unicode,那么解码后内存中对应的应该是unicode编码的文件
如果支持gbk,解码后内存中对应的的应该是gbk编码的文件
2.查看文件是什么编码方式存储的,如果是gbk,那么软件查看文件时也应该用什么格式解码查看
3.传输文件过程中是使用什么编码方式编码后传输的,传输后应该用什么编码方式解码后存储成相应文件
[/b]
[color=darkred][b]二、例子:发布个web系统,各个字符集关系最好是[/b]
[/color]
1.操作系统设置为字符集zh_CN.UTF-8字符集
2.文件时用UTF-8编码方式编码,那么相应操作系统也能解析
3.中间件也是UTF-8编码那么就应该不会乱码
如果是was,可以不配置字符集,它会读取系统的默认字符集作为中间件的字符集,不会乱码
4.SecureCRT等远程查看终端的解码方式也要是UTF-8
5.数据库字符集也应该设置成AL32UTF8字符集,oracle的unicode实现的字符集,这个要比zhs16gbk好,安全的多
注:UTF-8等价于utf8
[size=medium][color=darkred][b]三、一个编码流程过程[/b][/color][/size]
[img]http://dl2.iteye.com/upload/attachment/0098/7176/043a1830-5155-3113-a393-673732f9ddd4.jpg[/img]
[b]从源头开始查找:
1.操作系统或查看软件支持的字符集:如支持unicode,那么解码后内存中对应的应该是unicode编码的文件
如果支持gbk,解码后内存中对应的的应该是gbk编码的文件
2.查看文件是什么编码方式存储的,如果是gbk,那么软件查看文件时也应该用什么格式解码查看
3.传输文件过程中是使用什么编码方式编码后传输的,传输后应该用什么编码方式解码后存储成相应文件
[/b]
[color=darkred][b]二、例子:发布个web系统,各个字符集关系最好是[/b]
[/color]
1.操作系统设置为字符集zh_CN.UTF-8字符集
2.文件时用UTF-8编码方式编码,那么相应操作系统也能解析
3.中间件也是UTF-8编码那么就应该不会乱码
如果是was,可以不配置字符集,它会读取系统的默认字符集作为中间件的字符集,不会乱码
4.SecureCRT等远程查看终端的解码方式也要是UTF-8
5.数据库字符集也应该设置成AL32UTF8字符集,oracle的unicode实现的字符集,这个要比zhs16gbk好,安全的多
注:UTF-8等价于utf8
[size=medium][color=darkred][b]三、一个编码流程过程[/b][/color][/size]
[img]http://dl2.iteye.com/upload/attachment/0098/7176/043a1830-5155-3113-a393-673732f9ddd4.jpg[/img]