我的语言文件是这样的:
<?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文件希伯来语没有错误的编码?
答案 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。