startailMedlem sedan sep. 2000155 inlägg Jag har en bit kod som skickar användaren en fil, närmare bestämt ett vCard.
Dock har jag lite problem med att Windows inte kan läsa detta vCard, då den har Encoding Type inklusive BOM. Jag har lyckats komma fram till detta då jag kunde hitta ett sätt att ta bort BOM encoding med hjälp av ett program i Windows, och då funkade det. (Tex, så funkade det att bara öppna filen i notepad och spara)
Dock undrar jag nu hur jag får PHP att göra samma sak, utan att man måste spara om filen själv.
Min kod ser ut så här just nu, bland annat. Jag har skapat ett vCard som hamnar i $output.
Header("Content-Disposition: attachment; filename=\"$filename\"");
Header("Content-Length: ".strlen($output));
Header("Connection: close");
Header("Content-Type: text/x-vCard name=\"$filename\"");
echo("$output");
Finns det någon header variabel som jag kan göra för att _inte_ få PHP att skicka med en BOM Encoding?
Jag har aldrig varit med om att PHP skickar ett BOM.
Varifrån hämtar du datan?
Min gissning är att ditt BOM antingen kommer från datakällan eller kanske en PHP fil som du inkluderar.
startailMedlem sedan sep. 2000155 inlägg Jag har inte någon fil inkluderad som gör detta, och det är inte datan.
Om jag istället gör
Header("Content-Type: text/plain; charset=\"iso-8859-1\"");
Header("Cache-Control: public, must-revalidate");
Header("Content-Length: ".strlen($output));
Header("Connection: close");
echo("$output");
Så visar min läsare all text i ISO-8859-1 utan BOL, men jag kan inte få detta att funka i attachments på grund av någon anledning...
startailMedlem sedan sep. 2000155 inlägg <U+FEFF>BEGIN:VCARD
Så står det i min vCard fil när jag läser den i "less" i linux...
startailMedlem sedan sep. 2000155 inlägg Tror jag hittat problemet. Det är sparat fel i databasen :D
*suckar*