Ще отговоря тук, защото е твърде дълго за коментар.
Не е необходимо да променяте кодирането си, трябва да проверите вашето кодиране. Имайте предвид, че кодирането може да бъде променено на много различни места:
- Във вашата база данни с функции за набор от знаци
- Във вашата конфигурация на apache с AddDefaultCharset
- С php функция за заглавка
- Във вашия html с
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
етикет
Всяка от тези причини може да доведе до грешно кодиране, показано в уеб браузъра. И ако не го посочите с един или повече от предишните методи, съответният слой ще използва конфигурирания по подразбиране.
Във вашия случай, тъй като текстът идва от база данни и тъй като често в WAMP/XAAMP/MAMP MySQL използва странно кодиране по подразбиране, бих проверил за точка едно. Опитайте да изпълните SET NAMES UTF-8
(или каквото и кодиране да използвате) заявка преди извличане на данни, точно след вашата функция за db свързване.