כפי ש@Whenever אמר הקובץ בכלל לא בUTF-8.
אינני מבין איך שניכם פתחתם אותו בVSC ולא שמתם לב שגם הוא מציג ג'יבריש.
VSC לא אומר באיזה קידוד הקובץ, הוא סה"כ מנסה לפתוח בUTF-8, והתוצאות בהתאם.
אתה צריך לקרוא את הקובץ מקידוד windows-1255 או iso-8859-8.
אני לא יודע איך עושים זאת בPHP, מגוגל וGPT הבנתי שאפשר להמיר את השורה אחרי הקריאה ככה:
$row = array_map(function($value) {
return iconv('Windows-1255', 'UTF-8', $value);
}, $row);