php: как выполнить: echo "<input value = '{$ test}'>"; с $ test = "(亜) (') (\") "; - PullRequest
2 голосов
/ 10 ноября 2010
<?php
$info = " 亜 and ' and \" ";
$info=str_replace(array("'","\""),array("&#39;","&#34;"),$info);
echo "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>";
echo "<input id=info name=info value='{$info}' >";
?>

Это работает, НО : есть ли такой более аккуратный метод, как $info=htmlentities($info,ENT_QUOTES), который сохраняет UTF-8 дисплей? (htmlentities не )

1 Ответ

8 голосов
/ 10 ноября 2010

Вам необходимо указать третий utf-8 параметр:

$info = htmlentities($info, ENT_QUOTES, 'UTF-8');

Из документов:

Как и htmlspecialchars (), требуется необязательный третий аргумент charset, который определяет набор символов, используемый в преобразование. В настоящее время ISO-8859-1 набор символов используется по умолчанию.

Источник: http://php.net/manual/en/function.htmlentities.php

...