作者towalking (不需要脚踏车的鱼)
看板PHP
标题Re: [心得] 网页乱码问题解决法
时间Sat Sep 29 01:02:00 2007
※ 引述《ottokang (猫猫的大玩偶)》之铭言:
: 刚刚上来整理版面发现乱码问题越来越多
: 很多PHP的初学者常常遇到乱码的问题而感到困扰,这边我就整理一下解决办法
: 如果用了之後还有遇到再上来版上问
: 首先,乱码的问题几乎都来自於古老的Big5编码,因此要有个观念
: 若非必要
: 不要用Big5编码!不要用Big5编码!不要用Big5编码!
: 请爱用UTF-8编码!请爱用UTF-8编码!请爱用UTF-8编码!
: 使用编码就像一堆人说话一样,如果一个人讲了火星话,自然其他地球人听不懂
: 所以请你先确定以下的环节有没有做好:
: ◎ 资料库编码设定UTF-8了吗?
: ◎ PHP程式档案用UTF-8编码了吗?有没有不小心用到BOM?
^^^这是什麽?
: ◎ HTML有用UTF-8吗?有没有在head的地方设定以下的Meta Tag?
: <meta http-equiv=content-type content="text/html; charset=utf-8" />
: 以上都做到的话,应该可以解决99%的编码问题,剩下的再到版上发问吧!
感谢版主整理,
看过版友给的方法,
我在执行 sql 指令前,加上 mysql_query("SET NAMES 'utf8'");
的确解决了中文资料写进资料库,在资料库介面显示乱码的问题。
我一开始请教朋友怎麽解决这个问题,
他只告诉我 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
他写的程式码并没有加上 mysql_query("SET NAMES 'utf8'"); 也不会显示乱码,
请问为什麽会有这样的差别呢?(我的不加就会乱码,他不加也不会有乱码 @@)
另外发现一个问题,
中文写进资料库不会有乱码了,
但是从资料库读出就会出现乱码,为什麽有这种情况发生啊?
资料库是以 utf8_general_ci 编码,
php 程式页一开头有加上
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,
谢谢版友回答了!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.172.55.106
※ 编辑: towalking 来自: 218.172.55.106 (09/29 01:29)
1F:推 aquarianboy:BOM = Byte Order Mark,细节可以google翻看看 :) 09/29 10:26