2014-09-20 94 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,尽管目前的答案可能有些过时或过于抽象。

相关问题