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


Greek characters from .mdb file shown on local machine but not on web server

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

无法显示希腊字符.mdb文件(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>

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