आप सीएसवी उत्पन्न कर रहे हैं, जो मूल रूप से एक सादा पाठ फ़ाइल है। ऐसी फाइलों में एन्कोडिंग जानकारी निर्दिष्ट करने का कोई तरीका नहीं है। अधिकांश टेक्स्ट एडिटर ऑटो-डिटेक्शन एन्कोडिंग (बेहतर या बदतर) को लागू करते हैं। एक्सेल नहीं करता है। जब आप CSV फ़ाइल पर राइट-क्लिक करते हैं, तो Excel केवल ANSI मान लेगा। (एन्कोडिंग के बारे में संकेत दिए जाने के लिए आपको "ओपन" मेनू का उपयोग करने की आवश्यकता है।)
आपका एकमात्र विकल्प बचा है (दूसरे आउटपुट प्रारूप में स्विच करने के अलावा) डेटा को एएनएसआई में परिवर्तित करना है, या तो mb_convert_encoding()<के साथ। /ए> या iconv() के साथ . लेकिन अब आपको एक और समस्या है:एएनएसआई वास्तविक एन्कोडिंग नहीं है, इसका मूल रूप से अर्थ है "my में जो भी एन्कोडिंग सेट है विंडोज कंप्यूटर"। आपको सबसे पहले अपने अधिकांश उपयोगकर्ताओं के पास विशिष्ट एन्कोडिंग का पता लगाना होगा। यह ज्यादातर देश पर निर्भर करता है। उदाहरण के लिए, कई पश्चिमी यूरोप के देश Win-1252 का उपयोग करते हैं।