来自.mdb文件的希腊字符显示在本地计算机上,但不显示在Web服务器上

时间:2012-02-06 22:17:35

标签: php encoding character-encoding iconv

我已经使用PHP函数iconv()将.mdb文件中的希腊文本从Windows-1253转换为UTF-8,以便在网站上显示它们而不是问号。起初,我在本地计算机上使用XAMPP测试我的脚本时成功,并且希腊文本在浏览器中正确显示。我还问了一个如何在这里做的问题:

Cannot display Greek characters .mdb file (PHP & ODBC)

但是,当我在Godaddy的Windows服务器上上传网站时,问号又重新出现了。我尝试删除iconv()函数以查看结果是否不同,并且它们确实不同(显然不同类型的编码但仍然是问号而不是正确的希腊字符)。所以,据我所知,函数iconv()有效,但字符没有显示在页面中。我尝试使用其他浏览器没有运气。 html字符集在标题中设置为utf-8。这可能是托管计划的问题吗?页面中的其余文本(主要是希腊语)与从数据库中提取的文本分开显示。

任何帮助将不胜感激,

Kyris

编辑:php测试代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

<title>Test Page</title>

</head>

<body>

<?php

require('access.php');

$temptype = 'Gardener';

$q = "SELECT TOP 1 ExpenseAccountGreek FROM ExpenseAccount WHERE ExpenseAccount = '$temptype'";

$r = @odbc_exec($dbc,$q);

$greektype[0] = @odbc_fetch_array($r);

$paymentsT[0]['Type'] = iconv('Windows-1253','UTF-8',$greektype[0]['ExpenseAccountGreek']);

echo $paymentsT[0]['Type'];

@odbc_close($dbc);

?>

</body>

</html>

1 个答案:

答案 0 :(得分:0)

它可能完全依赖于主机,因为如果服务器在HTTP标头中指定了一个字符集,它将覆盖您在文档中可以说的任何内容。使用例如标题查看标题 http://www.rexswain.com/httpview.html