2014-09-20 48 views
0

我正在使用php代碼來顯示數據庫中的金額並使用以下代碼。但在Internet Explorer中,看到了奇怪的字符(請參閱附圖) 同樣在下面的區域,沒有編碼,直到IE瀏覽器顯示出一些奇怪的字符。Internet Explorer中的奇怪字符

我附上了2張圖片 - 一張來自IE瀏覽器,另一張來自Chrome瀏覽器。用於顯示量

代碼 -

$qty = $row['total_amount']; 
setlocale(LC_MONETARY, 'en_IN'); 
$amount = money_format('%.0n', floor($qty)); 

,並在表顯示金額 -

<?echo $amount;?> 

在下面部分,其中空白空間應該有,IE是顯示奇怪的字符,代碼是 -

<div width="90%" style="border:2px outset #336600; border-radius:10px; padding:5px;"><b>Alphabetical Doctors List Who Donated For High Court Case</b><br> 

然後分頁php代碼和以下代碼 -

<div><?php echo Pages("tutorials",$perpage,"index.php?");  ?></div> 

什麼原因和解決方案?

圖像1 - (Internet Explorer)中

enter image description here

圖像2 - (鉻)針對此問題

enter image description here

+0

嘗試添加到您的html – 2014-09-20 07:51:07

+1

檢查該頁面上的編碼IE用戶。並檢查是否在頭文件中正確聲明它。 – Joey 2014-09-20 07:51:51

+0

@Haris在添加後,顯示正方形而不是奇怪的字符 – chplab 2014-09-20 07:54:46

回答

0

我用以下溶液...

更改代碼

$qty = $row['total_amount']; 
setlocale(LC_MONETARY, 'en_IN'); 
$amount = money_format('%.0n', floor($qty)); 

TO

$qty = $row['total_amount']; 
setlocale(LC_MONETARY, 'en_IN'); 
$amount = money_format('%.0n', floor($qty)); 

$qtyIE = $row['total_amount']; 
$amountIE = (floor($qty)); 

並進行了更改表顯示結果

<?echo $amount;?> 

TO

<? if (eregi("MSIE", getenv("HTTP_USER_AGENT")) || eregi("Internet Explorer", getenv("HTTP_USER_AGENT"))) { 
?> 
Rs. <?echo $amountIE;?> 

<?}else{ 

echo $amount; }?> 

因此,而不是顯示奇怪的字符,現在它顯示盧比。

我不知道,是不是正確的解決方案或不...但我做到了..

0

這裏有兩個不同的問題:

1)該網頁使用UTF-8編碼,但沒有正確地聲明它。從評論看來,在這種情況下,加入<meta charset=utf-8>就足夠了。關於更普遍的問題(在PHP上下文中),請參見UTF-8 all the way through

2)INDIAN RUPEE SIGN在Unicode中相對較新。它包含在幾種字體和一些特殊字體的最新版本中。即使系統包含一些帶有字形的字體,Web瀏覽器也可能無法渲染它;他們可能需要作者的幫助,作爲font-family設置。在SO上有這方面的問題,例如Indian rupee symbol,儘管目前的答案可能有些過時或過於抽象。