php はどのように utf-8 html ファイルを生成します php はどのように utf-8 html ファイルを生成しますか? ?単に を追加するのではなく、ファイルを生成した後にメモ帳で開き、名前を付けて保存することに注意してください。エンコードは自動的に -8 になります。 -----解決策-------------------------------- PHP 自体はコードレスであり、通常、すべての文字列はバイナリ ストリームとして扱われます。したがって、入力文字列は Utf-8 のみである必要があります。文字列が他のエンコーディングを使用している場合は、iconv 一連の関数を使用してエンコーディングを変換できます。
------解決策--------- fwrite ($f,"xEFxBBxBF".iconv ( 'gbk','utf-8',$html));
------解決策---------
話し合う fwrite ($f,"xEFxBBxBF".iconv('gbk','utf-8',$html));
------解決策--------- utf-8、HTML ファイルに < を追加します。 meta http-equiv="Content-Type" content="text/html; charset=utf-8" />すぐに準備が整いますので、静的 html を生成するクラスを提供します
php
/******************8PHP 静的クラス*************/
class Shtml
{
var $Templet;
var $DataSource;
var $Dir;
var $ fileName;
var $mod;
var $handle;
function Shtml($fileName = "")
{
$this->fileName = $fileName;
$this->mod = "wb";
$this->handle = false;
$this->Templet = "";
$this->DataSource = array();
$this->Dir = "";
}
// データ ソースをバインドします。パラメータは配列
関数 BindData($arr)
{
$this->DataSource = $arr;
}
// ファイルの保存パスを設定します
function SetDir($dir)
{
$this-> ;Dir = $ dir;
}
function SetFileName($fileName)
{
return $this->fileName = $fileName;
}
function GetMod( )
{
return $this->mod;
}
function SetMod($mod)
{
return $this->mod = $mod;
}
function Open()
{
if (substr($this->fileName, 0, 1) == "/")
$this->fileName = $_SERVER[' DOCUMENT_ROOT'] . $this->fileName;
if ($this->handle = fopen($this->fileName, $this->mod))
return $this->handle ;
else
return false;
}
function Close()
{
return fclose($this->handle);
}
function Write( $content)
{
return fwrite($this->handle, $content);
}
function MkDir($pathname)
{
$currentPath = "";
str_replace ("\", "/", $pathname);
$pathArr = split("/", $pathname);
if ($pathArr[0] == "") { / /絶対パスを使用します
$currentPath = $_SERVER['DOCUMENT_ROOT'];
} else {
$currentPath = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']);
}
for ($i = 0; $i < count($pathArr); $i++) {
if ($pathArr[$i] == "")
continue;
else
if (is_dir($currentPath . " / " . $pathArr[$i]))
$currentPath = $currentPath . " / " .
else
mkdir($ currentPath = $currentPath . " / " . $pathArr[$i]);
}
}
// 静的ファイルを生成
function Create()
{
$tmp = $this->Templet;
foreach ($this->DataSource as $key =>$value) {
$tmp = str_replace(" < FIELD_" . $キー . " > ; ", $value, $tmp);
}
$this->MkDir(dirname($this->fileName));
$this->Open() ;
$this->Write($tmp);
$this->Close();
}
}
function CreateShtml() {
ob_start ("callback_CteateShtml" );
}
function callback_CteateShtml($buffer) {
$page = intval(@$_REQUEST["page"]);
$shtml = new Shtml( );
$shtml->SetFileName($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" .basename($_SERVER['PHP_SELF'], ".php") . ($page == 0 ? "" : "_" .strval($page)) .