@deceze и @Shakti благодаря за помощта.
+1 за връзката към статията, публикувана от deceze (Обработка на Unicode отпред към гръб в уеб приложение ) и също така си струва да прочетете Разбиране на кодирането
След като прочетох вашите коментари, отговор и, разбира се, тези две статии, най-накрая реших проблема си.
Изброих стъпките, които направих досега, за да разреша този проблем:
- Добавен
header('Content-Type: text/html; charset=utf-8');
в горната част на моя файл init.php, - Променен НАБОР СВОБОДА на полето на таблицата на моята база данни, което съхранява тези стойности в UTF-8,
- Задайте набор от знаци за MySQL връзка на UTF-8
mysql_set_charset('utf8', $connection_link_id);
- Използва функцията htmlentities() за преобразуване на знаци
$meta_title = htmlentities(trim($meta_title_raw), ENT_QUOTES, 'UTF-8');
Сега проблемът изглежда е решен, НО все още трябва да направя следното, за да разреша този проблем ПЪЛНО.
- Вземете кодирания набор от знаци от изходния
$source_charset
. - Променете кодирането на низа в UTF-8, ако вече не е в същото кодиране. За това единствената налична PHP функция е
iconv()
. Пример:iconv($source_charset, "UTF-8", $meta_title_raw);
За получаване на $source_charset
Вероятно ще трябва да използвам някои трикове или мулти проверка. Като проверка на заглавки и мета маркер и т.н. Намерих добър отговор в Откриване на кодиране
Кажете ми, ако има някакви подобрения или някаква грешка в стъпките ми по-горе.