привіт,
Ваше рішення не є хорошим в цілому. Чому? Це робота з листами з ASCII-код під 256 (перетвориться і відображається добре), але листи з кодом ASCII більше 256 в мене є "?" знаків.
Так що ми повинні об'єднати наші два рішення в одному ![Wink](images/smilies/wink.png)
Наприклад:
PHP Code:
function vbet_encodeToSafeUTF8(&$string) {
$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);
//decode two byte unicode characters
$string = preg_replace('/([\304-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);
$string = utf8_decode($string);
return $string;
}
цей рядок: визначити, чим листи з ASCII-код під 256 буде не декодується моя функція, але тільки Я тестування still.I я не зовсім впевнений, що все працює коректно.
Ви можете перевірити це занадто!