मैं निम्नलिखित हैडर आदेशों के साथ csv फ़ाइल पैदा कर रहा हूँ: अगर मैं Excel 2007 में फ़ाइल खोलनेपीएचपी उत्पन्न csv फ़ाइल Excel में ब्रिटेन के एक पाउंड चिह्न (£) के लिए एक £ प्रदर्शित 2007
header("Content-type: text/csv; charset=utf-8; encoding=utf-8");
header('Content-Disposition: attachment; filename="products.csv"');
, तो मुझे £ £ जहां कहीं भी £ संकेत दिखाई देना चाहिए। हालांकि, अगर मैं नोटपैड ++ में फ़ाइल खोलता हूं, तो पाउंड संकेत ठीक दिखाई देते हैं; इसी प्रकार, यदि मैं सामग्री-प्रकार को टेक्स्ट/सादा में बदलता हूं और अटैचमेंट हेडर से छुटकारा पाता हूं, तो ब्राउज़र में पाउंड संकेत सही तरीके से दिखाई देते हैं।
एक अजीब बात यह है कि अगर मैं नोटपैड ++ में "प्रारूप" मेनू पर जाता हूं, तो ऐसा लगता है कि फ़ाइल "बीओएम के बिना यूटीएफ -8" में एन्कोड की गई है। अगर मैं इसे "यूटीएफ -8 में एनकोड" में बदलता हूं, तो फ़ाइल को सहेजें, पाउंड संकेत एक्सेल में सही ढंग से दिखाई देते हैं। क्या इसे बनाने का कोई तरीका है ताकि फ़ाइल को इस एन्कोडिंग में PHP द्वारा सहेजा जा सके? सीएसवी डेटा उत्सर्जित करने से पहले
आपको फ़ाइल –
उत्पन्न करने वाली PHP स्क्रिप्ट के बारे में अधिक जानकारी दिखाने की आवश्यकता है, मुझे पता है कि £ £ के लिए यूटीएफ एन्कोडिंग आप इस तरह पाउंड इनपुट कर सकते हैं। मेरे पास एक्सेल में अनुभव नहीं है, इसलिए यह एक बेकार टिप्पणी हो सकती है;) – theorise
£ के लिए यूटीएफ एन्कोडिंग £ नहीं है - यह HTML एन्कोडिंग है। आप सीएसवी फाइलों में एचटीएमएल एन्कोडिंग का उपयोग नहीं कर सकते हैं। – Gnuffo1