首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [求助]關於一個困擾我很久的亂碼問題,看看各位高手有沒有更好的辦法~~  


  作者:Edward526
  注册时间:2005-07-19
  主题/回复:1/5
  积分:409
  等级:★★☆(五级)
  称号:略有小成

  chuxiaomin526@16..
  54534397
  www.weiyx.91x.net

 

 发表:2005-08-11 23:33:05 阅读 2672 次 回复 7 次 得分2  |   字号 字色
[求助]關於一個困擾我很久的亂碼問題,看看各位高手有沒有更好的辦法~~
如果 $aaa=" 
 echo "  </form>
  <tr valign='top'  width='500'  >
    <td style='word-break:break-all' >答:  $answer </td>
 </tr> ";
if ((!empty($file2) and (!in_array($file3, $FILES_PIC)))) {
  echo "
    <tr  width='500'  >
    <td style='word-break:break-all' >
附件: <a href='$file2' target='_blank'> $file2</a></td>
    </tr>";}

";
在表格中輸出$aaa中的代碼就會亂碼

echo "  
  <tr valign='top'  width='500'  >
    <td style='word-break:break-all' >答:  $answer </td>
 </tr> ";

沒有辦法只能$aaa=str_replace("<","'<'","$aaa");但有什麼更好的辦法呀~~~
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-08-12 18:03:15  评分:1 

不太明白你说什么。
$aaa="echo "......";
这样写肯定不对呀.要么 
$aaa="........";
要么
echo "............";
你这样 $aaa="echo ".........."";
这样的写法是没有什么道理的。

还有,像这样的大段的html代码,最好不要和php代码混写在一起,也就说写在<? ?>之外。这样更加清楚。当然如果会用模版,直接分离开更好。一般只在实在没有办法的情况下才混合写。
 2#楼  
 
  回复人:Edward526
  注册时间:2005-07-19
  主题/回复:1/5
  积分:409
  等级:★★☆(五级)
  称号:略有小成

   
 2#楼 发表于2005-08-16 01:05:32  评分:× 

嘿嘿!好象是沒有說明白~~是這樣的!我做了一個留言板,如果留言時輸入象html之類的代碼,提交後瀏覽留言內容時,比如:
$note="這裡是留言內容,如果是html代碼就會亂碼@_@!!";
輸出:
   echo "$note";
由於輸出時$note中有<td>、</td>存在,瀏覽器會把$note中的“<td>”當做html語言輸出 ~~
我用
$note=nl2br(htmlspecialchars($note));能解決上面的問題,但如果我用簡體留言(我的留言板是繁體做的!)漢字就會亂碼?請問有什麼辦法能避免上面兩種情況~~
 3#楼  
 
  回复人:Edward526
  注册时间:2005-07-19
  主题/回复:1/5
  积分:409
  等级:★★☆(五级)
  称号:略有小成

   
 3#楼 发表于2005-08-18 03:13:08  评分:× 

怎麼沒有人理我了~~~難道沒有說明白@`@

$answer="如何才能写出这个程序拜托大家看看";
$answer=htmlspecialchars($answer);
echo $answer;
結果竟然是  
"如何才能 写出 & #36825;个程序 拜托大家看看 "
 所有簡體字都轉成  '写' 類代碼~~~
拜托高手啊~~好郁悶啊~~
 4#楼  
 
  回复人:Edward526
  注册时间:2005-07-19
  主题/回复:1/5
  积分:409
  等级:★★☆(五级)
  称号:略有小成

   
 4#楼 发表于2005-08-18 03:15:37  评分:× 

看樣子本論壇把我的哪些亂碼還原了~~~郁悶依然~
 5#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 5#楼 发表于2005-08-23 17:10:37  评分: 

在网页中设置一下语言。
如:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
这句话加在<head></head>之间,用来设置整个页面的语言。
后面的gb2312是简体中文。如果使用别的,修改一下就行了。
 6#楼  
 
  回复人:Edward526
  注册时间:2005-07-19
  主题/回复:1/5
  积分:409
  等级:★★☆(五级)
  称号:略有小成

   
 6#楼 发表于2005-08-24 20:18:12  评分:× 

已經搞定!不是charset這個有問題!!
是 htmlspecialchars轉掉了“&”字符!把“& #36825”中的&轉換了當然字符就不能還原了~~~
我用
$answer=htmlspecialchars($answer);
$answer=str_replace('&#','&#',$answer);//又把它轉回來!
呵呵!成功了~~  
 7#楼  
 
  回复人:Miyahoo
  注册时间:2004-04-04
  主题/回复:39/255
  积分:1210
  等级:★★★☆(七级)
  称号:论坛贤士

   
 7#楼 发表于2005-09-01 19:01:56  评分:1 

呵呵~~ 这么简单的问题让你说得这么复杂。。。

这根乱码没有关系的。任何一款网页语言都有类似的函数或方法来处理字符串中的html标记。可以查一下函数表或者方法列表。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.009sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版