मैं एक PHP वेब अनुप्रयोग का निर्माण कर रहा हूँ, और यह UTF-8 में काम करता है के लिए उपयोगकर्ता इनपुट परिवर्तित करने का सबसे अच्छा तरीका। डेटाबेस यूटीएफ -8 है, पृष्ठों को यूटीएफ -8 के रूप में परोसा जाता है और मैंने यूटीएफ -8 में मेटा टैग का उपयोग करके वर्णसेट सेट किया है। बेशक, इंटरनेट एक्सप्लोरर का उपयोग करने वाले उपयोगकर्ताओं के साथ, और & माइक्रोसॉफ्ट ऑफिस से चिपकाने की प्रतिलिपि बनाते हुए, मैं कभी-कभी यूटीएफ -8 इनपुट को कभी-कभी प्राप्त नहीं करता हूं।UTF-8
आदर्श समाधान एक HTTP 400 Bad Request
त्रुटि फेंक होगा, लेकिन स्पष्ट रूप से मैं ऐसा नहीं कर सकते। अगली सबसे अच्छी बात $_GET
, $_POST
और $_REQUEST
को यूटीएफ -8 में परिवर्तित कर रही है। क्या यह देखने के लिए वैसे भी है कि इनपुट में कौन सा चरित्र एन्कोडिंग है, इसलिए मैं इसे iconv
पर भेज सकता हूं? यदि नहीं, तो ऐसा करने के लिए सबसे अच्छा समाधान क्या है?
स्पष्ट रूप से स्ट्रिंग की गारंटी नहीं दे सकता है आईएसओ -885 9 -1, लेकिन 'mb_detect_encoding()' अच्छा दिखता है –