我的语言文件是这样的:
<?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文件?
发布于 2013-09-18 10:47:39
Content-Type: text/html; charset=windows-1255和相关的元标记只是浏览器的一个指示符,表明站点应该是在Windows1255中编码的;它只是告诉浏览器应该期待什么。如果实际内容没有在Windows1255中实际编码,那么您当然会得到错误的结果。
在PHP中,字符串文本具有保存在其中的源文件的编码。即:
'title' => 'ודים אילוף כלבים'这个字符串是用任何编码的方式编码的,不管它是用什么编码的。我猜你的编辑把文件保存为UTF-8。所以你实际上是在向浏览器发送UTF-8内容,但是告诉它它是Windows1255编码的。因此:垃圾字符。
或者将PHP文件保存在Windows1255中,或者将编码指示符设置为(我猜是) UTF-8。
https://stackoverflow.com/questions/18870075
复制相似问题