Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल से एक्सएमएल में वर्णों को कैसे एन्कोड करें?

मुझे Xml Spec में एक दिलचस्प सूची मिली है :उस सूची के अनुसार चरित्र #26 (हेक्स:#x1A) का उपयोग करने के लिए इसे हतोत्साहित किया गया है )।

देखें पूरी रेंज

यह कोड सभी गैर-वैध Xml Utf8 को एक स्ट्रिंग से बदल देता है:

public String stripNonValidXMLCharacters(String in) {
    StringBuffer out = new StringBuffer(); // Used to hold the output.
    char current; // Used to reference the current character.

    if (in == null || ("".equals(in))) return ""; // vacancy test.
    for (int i = 0; i < in.length(); i++) {
        current = in.charAt(i);
        if ((current == 0x9) ||
            (current == 0xA) ||
            (current == 0xD) ||
            ((current >= 0x20) && (current <= 0xD7FF)) ||
            ((current >= 0xE000) && (current <= 0xFFFD)) ||
            ((current >= 0x10000) && (current <= 0x10FFFF)))
            out.append(current);
    }
    return out.toString();
}    

यह अमान्य XML वर्णों से लिया गया है:जब मान्य हो UTF8 का मतलब मान्य XML नहीं है

लेकिन उसके साथ मेरे पास अभी भी UTF-8 संगतता समस्या थी:

org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence

पढ़ने के बाद XML - XML ​​को इस रूप में लौटाना सर्वलेट से UTF-8 मैंने अभी कोशिश की है कि अगर मैं इस तरह सामग्री प्रकार सेट करता हूं तो क्या होता है:

response.setContentType("text/xml;charset=utf-8");

और यह काम कर गया....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में किसी दिनांक से लघु माह का नाम लौटाएं

  2. जहां खंड में मूल संपत्ति वाले हाइबरनेट क्वेरी का उपयोग करके डेटा अपडेट कैसे करें?

  3. Oracle SQL में दो कॉलम पिवोटिंग

  4. SQL त्रुटि का सामना करना:ORA-01843:मान्य माह नहीं है

  5. Oracle:ब्लॉब्स वाली तालिका को एक .sql फ़ाइल में निर्यात करें जिसे फिर से आयात किया जा सकता है