htmlentities возвращает пустую строку
Следующий код выводит пустую строку. Причина в "-" в $тексте, но почему? Какие символы тогда кодирует utf-8?
Проблема решена при использовании iso-8859-1, но мне нужно использовать utf-8, так что я делаю не так?
<!doctype html>
<head>
<meta charset="utf-8">
</head>
<body>
<?
$text = 'Hola ó Hola';
$text = htmlentities($text,ENT_QUOTES,'utf-8');
echo $text;
?>
</body>
</html>
19
3 answers
Убедитесь, что вы сохранили исходный файл как UTf-8, если он содержит строку. В противном случае убедитесь, что все, что предоставляет строку, предоставляет ее в формате UTF-8.
7
Author: Halcyon, 2011-12-09 02:37:25
У меня была аналогичная проблема, и я использовал флаг ENT_SUBSTITUTE, чтобы предотвратить пустую строку. Он все еще не кодировался, и я не мог полагаться на то, что файл был UTF-8, поэтому я преобразовал кодировку только в строку:
$text = htmlentities(mb_convert_encoding($text, 'UTF-8', 'ASCII'), ENT_SUBSTITUTE, "UTF-8");
30
Author: jgreep, 2015-07-29 16:24:25
- Откройте редактор кода (например, notepad++ или другой).
- Нажмите
New > Save As..
введите имя файла (некоторое время пустое) и в поле тип выберитеPHP Hypertext ...
- Теперь скопируйте все содержимое вашего исходного файла и поместите в этот новый файл.
- Нажмите сохранить и попробуйте.
0
Author: Ciniro Nametala, 2017-03-31 00:23:07