Я сталкивался с подобной проблемой.
index.php используя аякс запрос в myajax.js загружает ответ из getdatafrombase.php, который делает запрос в базу. При открытии getdatafrombase.php данные выводятся нормально, но в index.php квадратики. Решил проблему так:
В get..php сделал вывод данных с перекодировкой
$str="<h3>$row[2]</h3>";
echo iconv("cp1251", "UTF-8", $str);
В других случаях проблема решается изменением кодировки файла. Я использую EditPad Pro (Convert -> Text Encoding)