मेरे पास उनके नाम पर ⌐
वर्ण वाली फ़ाइलें हैं।कैरेक्टर गलत तरीके से एन्कोड किया गया
इन फ़ाइलों को अच्छी तरह से लिनक्स (अपाचे/php) के तहत नियंत्रित किया जाता है:
$files = scandir($path);
echo json_encode($files);
file1⌐
file2⌐
file3⌐
file4⌐
विंडोज के तहत वे लगते हैं फ़ाइल सिस्टम द्वारा विंडोज -1252 के रूप में पढ़ने के लिए, इसलिए मुझे conditi करना पड़ा onally उन्हें इतना है कि json_encode
$files = scandir($path);
foreach ($files as $i => $file) {
$files[$i] = mb_convert_encoding($file, 'UTF-8', 'Windows-1252');
}
echo json_encode($files);
यहाँ काम कर सकता था परिवर्तित किया जाता है कि वे किस तरह परिवर्तित
file1¬
file2¬
file3¬
file4¬
हो क्यों ⌐
है ¬
में परिवर्तित हो रहा है और मैं ओरी कैसे प्राप्त कर सकता हूं जीन चरित्र?
थोड़ा अस्पष्ट जो आप चाहते हैं, लेकिन मुझे क्या पता है कि लिनक्स बैकस्लैश का उपयोग करता है और विंडोज डिफ़ॉल्ट रूप से आगे का उपयोग करता है (लेकिन बैकस्लाश का भी समर्थन करता है)। इसका उपयोग करने का प्रयास करें। –
अजीब बात यह है कि विंडोज -1252 में "रिवर्स साइन साइन" के लिए एक वर्ण एन्कोडिंग भी नहीं है, लेकिन इसमें "साइन इन" के लिए कोई नहीं है। हो सकता है कि आपको विंडोज -1252 में स्ट्रिंग वापस नहीं मिल रहा है जैसा आपने सोचा था? क्या आपने अभी सुनिश्चित करने के लिए mb_detect_encoding() करने का प्रयास किया है? –
मैं 'mb_check_encoding' का उपयोग कर रहा हूं जो मुझे _Windows-1252_ मान्य करता है। मैंने 'mb_detect_encoding' भी कोशिश की (मुझे बता रहा है कि यह _UTF-8_ नहीं है)। _Windows-1252_ की अनुपस्थिति "रिवर्स साइन साइन" के लिए अच्छा बिंदु –