作者averywu (看文不要只会用横的看)
看板PHP
标题[请益] 杂乱的编码问题
时间Wed Nov 3 23:31:22 2010
不才遇上一个问题。
客户的机器资料库编码是ISO-8859-1(Latin 1)
可是里面存放的资料是BIG5 &
BIG5-HKSCS (估计是旧系统转到XP上用时
输入了不少传统BIG5以外的字)
现在全系统要改写,用PHP加AJAX来做。
我的做法是表单会CALL一支query.php来动态捞资料库的东西。
问题是,表单那由javascript送出的字串一定会是UTF8.
传到我的query.php时,也是UTF8。所以送到server去查就什麽都查不到。
(例:叶 这个字,UTF8编码是 %u8449 ,但他资料库存的是 ,-' (大概长那样))
我知道由query.php传回表单时乱码用
header("Content-Type:text/html;charset=big5"); 可以解决掉。
但是现在表单是BIG5,送出字串是UTF8,DB编码是Latin 1,DB资料是Big5...
我试过用iconv去转表单传来的字串,但是完全没效果。
有人可以提供一些方向吗?感谢。
--
小恶魔的家
http://blog.pixnet.net/shiuju/
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.142.152
※ 编辑: averywu 来自: 59.124.142.152 (11/03 23:32)
1F:推 buganini:SET NAMES有设什麽吗? 要设latin1 (预设应该就是) 11/04 02:22
2F:→ buganini:全系统要改写的话 如果没有需要在用到big5 建议全转utf-8 11/04 02:22
3F:推 buganini:然後建议确认一下是big5-hkscs还是uao 可以用firefox看 11/04 02:30
4F:→ buganini:big5跟big5-hkscs那个内容正确 (firefox的big5含uao) 11/04 02:31
5F:→ buganini:第二行应该说 如果没有不能修改而且需要用big5的系统的话 11/04 02:32
6F:→ buganini:算了 还是不改比较正确:| 11/04 02:33
7F:推 buganini:第一行完整的说是要转成big5+set names latin1 11/04 02:45
8F:推 danny0838:<form ### accept-charset="big5"> 11/06 12:31
9F:→ danny0838:这样表单 submit 出去的值被 server 接收时会是 big5 码 11/06 12:31
10F:→ danny0838:再用 iconv 或其他 big5->utf8 表格做转换 11/06 12:32