php语言文件windows-1255

时间:2013-09-18 10:42:51

标签: php file encoding lang

我的语言文件是这样的:

<?php
header('Content-Type: text/html; charset=windows-1255');

function heb($phrase){
    static $lang = array(
        'title' => 'ודים אילוף כלבים',
    );
    return $lang[$phrase];
}

?>

我的index.php文件是这样的:

<?php
include('langs.php');
?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
        <title><?php echo heb('title'); ?></title>

        <link rel="stylesheet" type="text/css" href="css/style.css" />
    </head>

<body>
</body>
</html>

但标题是“'•''''''''''''''''''''''',而不是希伯来语中的单词 - 我该怎么做才能编辑lang文件希伯来语没有错误的编码?

1 个答案:

答案 0 :(得分:2)

Content-Type: text/html; charset=windows-1255及相关的元标记只是浏览器的指示符,该网站据称在Windows-1255中编码;它只是告诉浏览器期待什么。如果实际内容实际上未在Windows-1255中进行编码,那么您当然会得到错误的结果。

在PHP中,字符串文字具有保存的源文件的编码。即:

'title' => 'ודים אילוף כלבים'

这个字符串以编码的文件的任何编码进行编码。我猜你的编辑器将文件保存为UTF-8。所以你实际上是在向浏览器发送UTF-8内容,但它告诉它它是Windows-1255编码的。因此:垃圾字符。

要么实际将您的PHP文件保存在Windows-1255中,要么将编码指示器设置为(我猜)UTF-8。