кодировка символов — преобразование текста UTF-8 в ASCII в переполнении стека

Этот код выводит UTF-8:

echo mb_detect_encoding("ø")

И этот код выводит ASCII:

echo mb_detect_encoding("ø");

Как конвертировать UTF-8 в ASCII? Например: конвертировать ø в &#248

-1

Решение

ø является HTML-сущность. Он использует только символы ASCII, поэтому он определяется как ASCII, да. Вам просто нужно HTML кодировать свой текст:

echo htmlentities('ø', ENT_COMPAT, 'UTF-8');

Это будет выводить ø, но это эквивалент с именем объекта HTML.

Хотя я выхожу на конечность и предполагаю, что вы не совсем понимаете, чего именно хотите. Может быть, вы должны прочитать Что каждый программист абсолютно, положительно должен знать о кодировках и наборах символов для работы с текстом и идти оттуда.

3

Другие решения

Используйте htmlentities, чтобы достичь того, что вы ищете

$myVar = 'ø';

$val = htmlentities($myVar);
echo $myVar;
// ø
echo mb_detect_encoding($myVar);
// UTF-8

echo $val;
// ø
echo mb_detect_encoding($val);
//ASCII
0