PHP: преобразование строк Unicode в строки ANSI

Есть ли у PHP какие-либо стандартные функции для преобразования строк Unicode в простые, добрые старомодные строки ANSI (или любой другой формат, htmlentities понимает PHP- htmlentities ?

Есть ли какая-либо функция, которая преобразует строки UTF-8 в HTML, которые могут быть поняты самыми популярными браузерами?

Это не может работать должным образом. Хранится с Unicode, есть намного больше персонажей, чем с ANSI. Поэтому, если вы «конвертируете» в ANSI, вы потеряете множество символов.

http://php.net/manual/en/function.htmlentities.php

Вы можете использовать кодировку Unicode (UTF-8) с htmlentities:

string htmlentities ( string $string [, int $flags = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

htmlentities($myString, ENT_COMPAT, "UTF-8"); должно сработать.

Хотя я действительно рекомендую хранить все в UTF-8 (согласно моему комментарию по вопросу), вы можете использовать функцию mb_convert_encoding для преобразования любой известной строки UTF-8 в US-ASCII как таковой:

 $asciiString = mb_convert_encoding ($sourceString, 'US-ASCII', 'UTF-8'); 

Однако это может быть не преобразование без потерь в зависимости от исходной символьной строки. (Символы, такие как «é», просто исчезнут в пустоте.)

Браузеры уже понимают UTF-8. Если вы хотите, чтобы они знали, что вы отправляете им UTF-8, вам нужно сказать им .