2

著作権記号を含む文字列を CMS から読み込んでいます®。ただし、この文字列を自分のサイトに表示するとÂ、著作権記号の前に権利が発生します。たとえば、私はMicrosoft®CMS に持っていますが、レンダリングしMicrosoft®ます。

$title = (string) $myString;
$title = htmlentities($title,ENT_NOQUOTES,'UTF-8',false);
$title = str_replace(array('&lt;','&gt;'),array('<','>'), $title);
var_dump( $title );
4

3 に答える 3

3

「著作権記号」の文字コードは です0xA9。ただし、 ~ の範囲外0x00です0x7F

したがって、ISO-8859-1 や Windows-1252 などのシングルバイト文字セットでは問題なく動作します。

しかし、Unicode のようなマルチバイト セットでは、 として表され0xC2 0xA9ます。2 番目のバイトが元のバイトと同じなのは偶然です。

修正するには、エンコードが一貫していることを確認する必要があります。1 つの解決策は、HTML ドキュメントUTF-8charset.

于 2013-02-28T23:48:24.167 に答える
0

[default_charset][1]php.iniの php 設定を確認するかini_set()、php ファイルで使用します

<?php

ini_set("default_charset", "utf-8");

?>

php ファイルのエンコーディングを次のように設定します。utf8

HTML メタ タグを設定します。

<meta equiv="Content-Type" content="text/html; charset=utf-8">
于 2013-03-01T01:31:42.417 に答える
0

テキストを「移動」する場合は、utf8_encoding を試してから utf8_decoding を試してください。また、html のヘッダーで正しいエンコーディングを使用しているかどうかも確認してください。

データベースにすでにそれがある場合は、元に戻すことができないことに注意してください。

于 2013-02-28T23:50:24.920 に答える