[请益] 编码的问题…

楼主: woominin (没事就好)   2014-10-01 16:40:59
不好意思,如标题说的,小弟遇到一个转码的问题
想请教一下
以下为程式码
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?php
include('simple_html_dom.php');
$dom = file_get_html('http://na3tvilla.ttbnb.net/about.htm');
foreach($dom->find('table.abfont') as $element)
echo $element->innertext;
$dom = file_get_html('http://na3tvilla.ttbnb.net/about.htm');
foreach($dom->find('title') as $ment)
echo $ment->innertext;
?>
这样执行出来后 echo $ment->innertext; 所出来的会是乱码
但要是我把最上面 head里的编码拿掉 就会变中文
但是 echo $element->innertext; 所出来的就会变乱码…
这该怎么解决呢 ??
作者: allanshen (阿伦)   2014-10-01 17:00:00
可以用 mb_convert_encoding 把 BIG5 转成 UTF-8
楼主: woominin (没事就好)   2014-10-01 17:11:00
$ment = mb_convert_encoding($ment,"BIG5","UTF-8");这样加在 foreach 跟 echo 之间 会有错 请问是哪里错
作者: loktarrr (为了部落)   2014-10-01 19:23:00
你的档案有存为utf8不含bom格式吗
作者: LPH66 (-6.2598534e+18f)   2014-10-01 19:40:00
应该不是楼上的问题; 原PO加 convert 后 foreach 有 {} 吗?
楼主: woominin (没事就好)   2014-10-01 22:40:00
有,不过是一样的,要嘛就上面乱码,要嘛就下面乱码 - -
作者: LPH66 (-6.2598534e+18f)   2014-10-02 08:35:00
突然发现一件事: $ment 应该是个 DOM 物件而不单纯是字串你试试对 $ment->innertext 转换, 这应该就是实际字串了也就是变成 echo mb_convert_encoding($ment->innertext,..
楼主: woominin (没事就好)   2014-10-02 16:44:00
楼上L大,解决了,如同你说的 感谢呀
作者: hit1205 (帮你把勇气装满)   2014-10-02 21:13:00
提醒一下原po,你的 #1K9w2S4J 是一样的原因喔 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com