今天遇到了中日编码的转换问题,就是在一个中文的WEB页面,输入日文,然后保存到MYSQL中,然后需要在日文编码的网页上正常显示出来。
为了不改变原来的网页,我打算在输入的时候直接将日文换换成网页使用的编码格式:Shift_JIS,因为中文我们一般使用的是GB2312,所以我入库之前就进行了以下操作:
<?php
$content = iconv('gb2312', 'Shift_JIS', $content);
//insert into database;
?>
可是后来显示的时候发现内容不对,比原文短了些,这下真是麻烦了,到处搜索资料,最后发现了原来是GB2312在做怪,
后来我改成了GBK的编码转换,问题才得以解决:
<?php
$content = iconv('GBK', 'Shift_JIS', $content);
//insert into database;
?>
是什么原因呢?字符集太小了吗?我也没有再去追究了,不过以后记得用GBK就是了。