我有一個輸出包含重音字符的字符串的網頁。PHP中包含文件中的重音字符
我有主頁中聲明的變量$myGlobalStr
,然後通過函數outputGlobalVariable()
返回。一切按預期工作。
當我聲明函數outputFunctionVariable()
內的非常相同的字符串,輸出爲UTF-8格式..
我想在我的網頁使用<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
,廣告我也試圖包括header('Content-type: text/html; iso-8859-1')
之初我的包含文件。兩者都不起作用。
我從來不必在包含文件中指定字符集。我知道我可以在outputFunctionVariable()中使用函數utf8_decode()
,但我有興趣瞭解它爲什麼會發生,以及這背後的邏輯...
我在Windows上使用Zend Server CE。
的index.php
<?
$myGlobalStr = "1. Dites bonjour à l'élève.";
include("includes/functions.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
</head>
<body>
<?=outputGlobalVariable()?>
<hr>
<?=outputLocalVariable()?>
</body>
</html>
的functions.php
<?
function outputGlobalVariable() {
global $myGlobalStr;
return $myGlobalStr;
}
function outputLocalVariable() {
$myStr = "2. Dites bonjour à l'élève.";
return $myStr;
}
?>
輸出
1. Dites bonjour à l'élève.
------------
2. Dites bonjour à l'élève.
也許你用來修改這些頁面的編輯器正在搞砸了,這根本不是PHP的錯。畢竟,functions.php與index.php是不同的文件,所以在PHP獲得它們之前很久就會發生垃圾。 –