【问题标题】:Strange Characters In Internet ExplorerInternet Explorer 中的奇怪字符
【发布时间】:2014-09-20 23:20:08
【问题描述】:

我正在使用 php 代码显示来自数据库的金额并使用以下代码。但是在 Internet Explorer 中,出现了奇怪的字符(请参阅附图) 同样在下面区域,没有编码,直到 Internet Explorer 显示一些奇怪的字符。

我附上了 2 张图片 - 一张来自 IE,第二张来自 Chrome 浏览器。

用于显示金额的代码是 -

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

并在表格中显示金额 -

<?echo $amount;?>

在下面应该有空格的部分,IE显示奇怪的字符,CODE是-

<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)

图片 2 - (Chrome)

【问题讨论】:

  • 尝试将 添加到您的 html
  • 检查该页面上 IE 用户的编码。并检查您是否在标题中正确声明。
  • @Haris 添加 后,显示的是正方形而不是奇怪的字符
  • 添加后,以下奇怪字符消失,但印度卢比符号显示为IE中的正方形

标签: php html internet-explorer


【解决方案1】:

我为这个问题使用了以下解决方案...

修改代码

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

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

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

并对表格显示结果进行了更改

来自

<?echo $amount;?>

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

<?}else{

echo $amount; }?>

所以现在不是显示奇怪的字符,而是显示卢比。

我不知道,这是否正确的解决方案......但我做到了......

【讨论】:

    【解决方案2】:

    这里有两个不同的问题:

    1) 页面使用 UTF-8 编码但未正确声明。从 cmets 看来,在这种情况下,添加 &lt;meta charset=utf-8&gt; 就足够了。关于更普遍的问题(在 PHP 上下文中),请参阅UTF-8 all the way through

    2) 印度卢比符号在 Unicode 中相对较新。它包含在几种字体的最新版本和一些特殊字体中。即使系统包含一些具有字形的字体,Web 浏览器也可能无法呈现它;他们可能需要作者的帮助作为font-family 设置。 SO上有关于此的现有问题,例如Indian rupee symbol,尽管当前的答案可能有些过时或过于抽象。

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      相关资源
      最近更新 更多