везде кодировка utf8: в базе, в документе и в отправленном запросе.
Важно не в отправляемом запросе, а в получаемом ответе. Ведь вы получаете ответ от другого сервера, там может быть не utf-8. Откройте сайт-источник и посмотрите в браузере какую он кодировку отдает. Скорее всего в windows-1251. Поэтому полученные данные надо сначала перекодировать. $string = mb_convert_encoding($string, 'utf-8', 'windows-1251'); А потом уже сохранять и что угодно делать.