漢字をHTMLエンティティ(10進数で表したUnicodeエンコード)に変換する利点は、Webページのエンコードが何であっても文字化けせずに正常に表示できることです。他の文字セット。
PHP では、mbstring の mb_convert_encoding 関数を使用して、この順変換と逆変換を実現できます。
例:
mb_convert_encoding ("Hello", "HTML-ENTITIES", "gb2312"); //出力: 你好
mb_convert_encoding ("你好", "gb2312", "HTML-ENTITIES"); //出力: こんにちは
ページ全体を変換する必要がある場合は、php ファイルの先頭に次の 3 行のコードを追加するだけです:
mb_internal_encoding("gb2312"); // gb2312 はあなたのウェブサイトの元のエンコーディングです
mb_http_output("HTML-ENTITIES");
ob_start('mb_output_handler');
ASP バージョン この変換を実現するには、次の関数を使用できます:
関数 htmlentities(str)
For i = 1 to Len(str)
char = Mid(str, i, 1)
AscW(char) > 0 の場合
htmlentities = htmlentities & "" & Ascw(char) & ";"
それ以外の場合
htmlentities = htmlentities & "" & (65536 + ascW(char)) & ";"
終了したら
次へ
関数終了
JS版
関数 htmlentities(str)
{
var r = "";
for( i=0; i
temp = str.charCodeAt(i);
r += ""+temp+";";
}
// 正規表現を使用して解決することもできます
// r = str.replace(/[dD]/g, function($0) { return "" + $0.charCodeAt(0) + ";"; });
返してください;
}
asp.net (c#) バージョン
プライベート文字列 GetHtmlEntities(string str)
{
string r = string.Empty;
for (int i = 0; i
r += ""+Char.ConvertToUtf32(str,i)+";";
}
return r;
}
関連ドキュメント: Web ページで一般的に使用される HTML 文字エンティティ
以上がHTML エンティティと Web ページのコーディングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。