を追加するのではなく、ファイルを生成した後、メモ帳でファイルを開いて名前を付けて保存し、エンコーディングを変更することに注意してください。自動的に utf-8 になります。 ----"/> を追加するのではなく、ファイルを生成した後、メモ帳でファイルを開いて名前を付けて保存し、エンコーディングを変更することに注意してください。自動的に utf-8 になります。 ----">

ホームページ  >  記事  >  バックエンド開発  >  PHPでutf-8 htmlファイルを生成する方法

PHPでutf-8 htmlファイルを生成する方法

WBOY
WBOYオリジナル
2016-06-13 13:24:36844ブラウズ

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 を生成するクラスを提供します
/******************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)) .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。