Question concerning special characters (i.e. Kanji signs) within JavaMail

Hello everybody,
I'm trying to create and send E-Mails out of an struts-/JSP-application where users may enter some remarks.
These remarks can contain special characters like ampersand, German umlauts, Kanji signs etc.
Now what do I have to do/to encode or whatever in order to send these remarks as message contents using the JavaMail API in order to get them displayed correctly within Mozillas (and other) mail clients?
The best results I achieved so far was while using "text/html" when setting content into a MimeMessage object.
But unfortunately all CRLFs entered within the remark fields were missing (ok, I can adjust them when converting the CRLF into <BR> as long as using "text/html") and furthermore the Kanji signs were only displayed as question marks.
I converted every character/sign entered into the remarks field into Java-unicode chacracters (from their HTML entity representation). When doing so the Kanji characters are displayed correctly while shown within MS Excel in a sheet the has been created by JExcel API (Java) but they aren't displayed within mail clients!
What do I have to do in order to get them displayed correctly?
Will I have all the content to be wrapped into HTML body-tags (<head></head><body> --- content --- </body>) when sending mails using "text/html"?
Many thanks in advance
Best regards

Ok, found a solution for the Kanji Signs: setting the content using setText(string, "UTF-8"); does the job.
Now I'll only have to adjust the non-Kanji-HTML-Entities like & &#013; and so on.
Tey can be mixed with Kanji signs in the same string.
Any Ideas?

Similar Messages

  • Question about special characters in XML documents

    Hi,
    I need to create some XML documents based on documents containing elements containing strings containing accentuated and special characters such as ��� or Asian characters.
    I have found the following code claiming that XML documents created by the xformer will have a utf-8 format:
    // Write the DOM document to the file
    Transformer xformer = TheTF.newTransformer();
    xformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");and I have found the InputSource object to be used to read UTF-8 XML documents:
    InputSource in = new InputSource(new FileReader(filename));
    in.setEncoding("UTF-8");Is this enough to make sure that accentuated and Asian characters (or any other characters) will be converted properly when creating and re-reading the XML document? If one of my elements contain the following text '���33445tata', will the string remain the same when re-read from the XML? Do I need more code to make sure that all conversion will be performed properly and transparently? If yes, can one provide an example?
    Thanks!

    Hi Dr.Clap,
    Thanks for your answer, but I am not really sure I understand you. I have performed a test to generate a simple document containing one element. An attribute containing some special characters is added to the element. The element text also contains specials characters.
    When I generate the XML into a byte array input and print the content, I get:
    <?xml version="1.0" encoding="utf-8" standalone="no"?><UTF8TEST BIBI="��ii��������">tre33������</UTF8TEST>When I parse the document, and print the result, I get:
    -- Begin of Parsing
    Element Name = UTF8TEST
    Attribute Name = BIBI
    Attribute Value = �ii����
    Found text : tre33���
    -- End of Parsingwhich is correct. I am worried by the ��ii� ������-like characters generated in the XML. Should I be worried or shouldn't I? Should I convert these into something looking a more like ASCII, or is this fine?
    I am including the code of my example (excluding imports):
    public class XMLUTF8_Test extends DefaultHandler {
        // Logger
        private final static Logger LOG = Logger.getLogger(XMLUTF8_Test.class.getName());
        // Static
        public static DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY;
        public static DocumentBuilder DOCUMENT_BUILDER;
        public static TransformerFactory TRANSFORMER_FACTORY;
        private static SAXParserFactory FACTORY;
        private static SAXParser SAXPARSER;   
        private static XMLReader XMLREADER;
        static {
            // Preparing the writting
            DOCUMENT_BUILDER_FACTORY = DocumentBuilderFactory.newInstance();
            try {
                DOCUMENT_BUILDER = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder();
            } catch (ParserConfigurationException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
            TRANSFORMER_FACTORY = TransformerFactory.newInstance();
            // Preparing the reading
            try {
                FACTORY = SAXParserFactory.newInstance();
                SAXPARSER = FACTORY.newSAXParser();
                XMLREADER = SAXPARSER.getXMLReader();
            } catch (ParserConfigurationException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
            } catch (SAXException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
        public static void main(String[] args) {
            // Perform test
            new XMLUTF8_Test();
        public XMLUTF8_Test() {
            // Saving to File
            Document NewDoc = DOCUMENT_BUILDER.newDocument();
            Element Root = NewDoc.createElement("UTF8TEST");
            Root.setAttribute("BIBI", "�ii����");
            Root.setTextContent("tre33���");
            NewDoc.appendChild(Root);
            ByteArrayOutputStream TheBAOS = new ByteArrayOutputStream();
            try {
                Source source = new DOMSource(NewDoc);
                Result result = new StreamResult(TheBAOS);
                Transformer xformer = TRANSFORMER_FACTORY.newTransformer();
                xformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
                xformer.transform(source, result);
            } catch (TransformerConfigurationException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
            } catch (TransformerException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
            // Printing result
            System.out.println(TheBAOS.toString());
            // Parsing the result
            ByteArrayInputStream TheBAIS = new ByteArrayInputStream(TheBAOS.toByteArray());
            XMLREADER.setContentHandler(this);
            try {
                XMLREADER.parse(new InputSource(TheBAIS));
            } catch (IOException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
            } catch (SAXException Ex) {
                Debugger.LogUnreachableCodeReachedSituation(LOG, Ex);
        @Override
        public void startDocument() throws SAXException {
            System.out.println("-- Begin of Parsing");
        @Override
        public void endDocument() throws SAXException {
            System.out.println("-- End of Parsing");
        @Override
        public void startElement(String namespaceURI, String LocalName, String QualifiedName,
                Attributes TheAttributes) throws SAXException {
            String ElementName = LocalName;
            if ("".equals(ElementName)) {
                ElementName = QualifiedName; // namespaceAware = false
            System.out.println("Element Name = " + ElementName);
            if (TheAttributes != null) {
                for (int i = 0; i < TheAttributes.getLength(); i++) {
                    String AttributeName = TheAttributes.getLocalName(i); // Attr name
                    if ("".equals(AttributeName)) AttributeName = TheAttributes.getQName(i);
                    System.out.println("Attribute Name = " + AttributeName);
                    System.out.println("Attribute Value = " + TheAttributes.getValue(AttributeName));
        @Override
        public void endElement(String namespaceURI, String SimpleName, String QualifiedName) throws SAXException {
        @Override
        public void characters(char[] buf, int offset, int len) throws SAXException {
            String s = new String(buf, offset, len);
            System.out.println("Found text : " + s);
    }Thanks!

  • How can I distinguish special characters or signs in Doc through VBA?

    How can I distinguish special characters or signs in Doc through VBA?
    I have a few large documents written in word 2003 format and now I work on them under word 2007.
    Such large documents containing lots of special characters.  I want to change them into Microsoft 3.0 equation form(It is required by the team). I find no way but using function AddOLEObject and  Sendkeys through VBA. Common characters can be added
    to equation by function Sendkeys, but the return value of Asc() or AscW() for "double arrow", "in" , " not greater than " such special characters or signs, to name but a few are the same ,i.e., 40 And I cannot distinguish them.
    I found the link http://msdn.itags.org/word/44333/ may be of use to me, and the title is:
    How to read symbols from a DOC documents! (Microsoft Word)
     the original question is
    Using function "InsertSymbol", I can insert a symbol into a document. But
    how can I read a symbol from a document?
    Using "Characters(i).range.text", I can read a char. But when meeting a
    symbol, the value of "Characters(i).range.text" is always '('.How can I get the CharacterNumber of the symbol.
    And the final answer is :
    Hi chenfeng,
    Word protects symbols from symbol fonts if you insert them from the "Insert
    > Symbol" dialog.
    This is done so they aren't changed when you change the font or style. But
    it also results in Word reporting AscW( ) = 40 on all of them.
    I've posted a macro to "unprotect" them (or to protect them again if you
    want) ... just today again in
    Newsgroups: microsoft.public.word.vba.customization
    Subject: Symbol Characters
    Date: Mon, 3 May 2004 11:00:46 -0700
    Message-ID: <09f401c43138$8f92f900$[email protected]>
    It isn't archived on Google yet, but tomorrow you should be able to simply
    copy the message ID into http://www.google.com/advanced_group_search.
    Regards,
    Klaus
    But the link for the macro in the final answer is missing.
    Can anyone with kindness help me? Thaks a lot.

    Following Cindy Meister's Advice ,I use MathType SDK.
    The sample in MathType SDK in the following may be meaningful,but I do not know how the MTEF for cos^^2Theta, MTEF for sin^^2Theta and MTEF for 1 are generated .
    It looks much complicated,and I searched the docs in MathType SDK to get a explanation.Is there any function to generate them? I want to use this method to change commaon text mathematical signs( in special character table) and  Greek letters and characters
    with subscripts and superscripts to Microsoft 3.0 equation form.
    Can anyone with kindness help me?
    Sub MTEFTextSubstitution()
        Dim MTEFStr1$, MTEFStr2$, MTEFStr3$
        Dim stat
        'MTEF for cos^^2Theta
        MTEFStr1$ = "% MathType!MTEF!2!1!+-" + _
            " % feaaeaart1ev0aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn" + _
            " % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr" + _
            " % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9" + _
            " % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x" + _
            " % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaci4yaiaac+" + _
            " % gacaGGZbWaaWbaaSqabeaacaaIYaaaaOGaeqiUdehaaa!3B65!"
        'MTEF for sin^^2Theta
        MTEFStr2$ = "% MathType!MTEF!2!1!+-" + _
            " % feaaeaart1ev0aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn" + _
            " % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr" + _
            " % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9" + _
            " % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x" + _
            " % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaci4CaiaacM" + _
            " % gacaGGUbWaaWbaaSqabeaacaaIYaaaaOGaeqiUdehaaa!3B6A!"
        'MTEF for 1
        MTEFStr3$ = "% MathType!MTEF!2!1!+-" + _
            " % feaaeaart1ev0aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn" + _
            " % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr" + _
            " % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9" + _
            " % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x" + _
            " % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaaGymaaaa!36A4!"
        Selection.Copy
        'Init API, reset transform
    '    If MTUtil.CheckMTDLLVersion = 0 Then Exit Sub
        If Not IsDLLVersionOK() Then Exit Sub
        MTXFormReset
        'first substitution
        stat = MTXFormAddVarSub( _
            mtxfmSUBST_ONE, _
            mtxfmVAR_SUB_PLAIN_TEXT, "<v1>", 0, _
            mtxfmVAR_SUB_MTEF_TEXT, MTEFStr1$, Len(MTEFStr1$), 0)
        If stat <> 0 Then
            MsgBox "1st MTXFormAddVarSub returned: " + Str(stat)
            Exit Sub
        End If
        'second substitution
        stat = MTXFormAddVarSub( _
            mtxfmSUBST_ONE, _
            mtxfmVAR_SUB_PLAIN_TEXT, "<v2>", 0, _
            mtxfmVAR_SUB_MTEF_TEXT, MTEFStr2$, Len(MTEFStr2$), 0)
        If stat <> 0 Then
            MsgBox "2nd MTXFormAddVarSub returned: " + Str(stat)
            Exit Sub
        End If
        'third substitution
        stat = MTXFormAddVarSub( _
            mtxfmSUBST_ONE, _
            mtxfmVAR_SUB_PLAIN_TEXT, "<v3>", 0, _
            mtxfmVAR_SUB_MTEF_TEXT, MTEFStr3$, Len(MTEFStr3$), 0)
        If stat <> 0 Then
            MsgBox "3rd MTXFormAddVarSub returned: " + Str(stat)
            Exit Sub
        End If
        'do the substitution
        stat = TransformGraphicEquation
        If stat <> 0 Then
            MsgBox "TransformGraphicEquation returned: " + Str(stat)
            Exit Sub
        End If
        MTTermAPI
        'Paste new equation
        Selection.Collapse Direction:=wdCollapseEnd
        Selection.PasteSpecial Placement:=wdInLine
    End Sub

  • Special Characters shown as question marks

    Hi everyone.
    I have an iPhone 4 since December 2010 but im having a problem, everytime i recieve or send a text message with special characters such as:
    ñ á é ç ó etc... i recieve this characters with question mark (?) i called IUSACELL which is my carrier here in México and the told me that this is an iPhone problem because they ran somes test with some iPhones they have there and everything went fine. This is quite annoying.
    The problem showed up when i had iOS 4.3.5, now i'm iOS 5 Beta 5 and is still there!!
    Regards.
    Some images here.
    The word is "Llegué"
    The word is "Quedé"
    The word is "Años"
    The word is "Quién"
    PS. Sorry for my bad english

    Sounds that you have a problem with the font that is used to display those characters.<br />
    You can try some different default fonts (e.g. Arial, Verdana, Tahoma) to see if you can identify the not working font.<br />
    You will have to reinstall or refresh that font.
    *http://en.wikipedia.org/wiki/Punctuation
    *http://en.wikipedia.org/wiki/Dash

  • Special characters in URL parameters retrieved as question marks

    Hello,
    I am posting a simple HTML form to a WebDynpro application, and then I retrieve the 2 parameters with the following code :
    IWDWebContextAdapter adapter = WDWebContextAdapter.getWebContextAdapter();
    String comment= adapter.getRequestParameter("comment");
    Problem : some special characters (those with accents for instance) are retrieved as question marks. Their ascii character is always 65533 (unicode rather?).
    I guess this is a problem of charset, but where could I change it ?
    Trying to encode afterwards does not change the characters, I always get the question marks. But I may not do it the right way...
    Any hint on that ?
    Thanks a lot.
    Best Regards,
    Nicolas

    Hi,
    refer to following code.
    Stop using deprecated object IWDWebContextAdapter
    IWDProtocolAdapter adapter = WDProtocolAdapter.getProtocolAdapter();
         try {
              byte comment[]= adapter.getRequestObject().getParameter("comment").getBytes("ASCII");
              String str = new String(comment);
         } catch (UnsupportedEncodingException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    Ashu

  • Weblogic 12c Servlet Response - Special characters show up as question mark

    My web app is running on Weblogic 12c (12.1.1) using WebWork + Hibernate. The program streams data (bytes making up a pdf) from a CLOB in an Oracle Database to the AsciiStream of the servlet output response. No exceptions are thrown, but the generated pdf contains blank pages. Comparing the bytes of the generated pdf, special characters are showing up as question marks.
    Some of the bytes read in from the database contain 8 bits (correct data), but the bytes that the servlet return contain only 7 (all bytes with 8 bits become "1111111"). The number of bytes returned from the servlet is correct.
    Code:
    //Response is HttpServletResponse
    response.setContentType("application/pdf");
    response.setHeader("Content-Disposition", "inline; filename=\"test.pdf\"");
    out = response.getOutputStream();
    byte[] buf = new byte[16 * 1024];
    InputStream in = clob.getAsciiStream();
    int size = -1;
    while ((size = in.read(buf)) != -1){
    // buf contains the correct data
    out.write(buf, 0, size);
    // other exception handling code, etc
    out.flush();
    out.close();
    "Correct" pdf byte example:
    10011100
    10011101
    1010111
    1001011
    1101111
    11011011
    Incorrect pdf byte example:
    111111
    111111
    1010111
    1001011
    1101111
    111111
    I have verified that the data read from the CLOB in the database IS correct. My guess is that the Weblogic server has some strange servlet settings that causes the bytes to be written to the servlet output stream incorrectly, or a character encoding issue. Any ideas?
    Edited by: 944705 on Jul 26, 2012 10:17 AM

    Solution found, I'll post the work around to those who might encounter the same problem.
    Somewhere in the layers of technology (webwork or weblogic I'd guess), the servlet response is encoded into UTF-8 regardless. The encoding in the database was ISO-8859-1. Sending ISO encoded bytes by UTF-8 caused the conflicting character codes (anything above 127) to show up as undefined.
    The fix is to decode the input byte array into ISO-8859 string, then encode that string into UTF-8, which can be send by Weblogic.
    isoConvert = new String(buf, "ISO-8859-1");
    out.write(isoConvert.getBytes("UTF-8"), 0, isoConvert.getBytes("UTF-8").length);

  • German special characters not displaying on page instead of that Question marks displayed

    when i submit form,i need to send a mail with filled data.Here Suppose user entered german special characters.I am getting Question marks instead of ä,Ä,ö,Ö,ü,Ü,ß. I have used meta tag like
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />.But i am getting fine characters with IE and Chrome.I am using FireFox 3.6.16 english.

    Hello core team,
    Thanks a lot!!!!
    i m not only the person to use html form.So many non technical persons using the same. how can i tell to all persons regarding changing character encoding. i need some permenant solution,

  • ISO-8859-1 Special Characters turn to Question Marks; How to post Resumes?

    I am building a web based application and I have a TextArea in an HTML form. Users can copy and paste their resumes (source - Microsoft Word Docs) into this text area. Once the resume is posted, tomcat handles the request. The request is posted to another JSP, Struts Action Class (Any Java Class that can write to a database).
    When I do a System.out.println(request.getParameter("resume")); I the special characters like bullets and quotes and a bunch of others are getting transformed to Question Marks. When I insert the resume into an Oracle Database (into a clob field) they are still being saved a question marks.
    I have a JSP Page that displays the posted resume. It has 2 things - It writes the request.getParameter("resume") to the HTML and this comes out fine. But when it writes the resume that is retrieved from the oracle database, i am getting back question marks.
    I understand that Java uses unicode for character encoding/representation and I tried changing my HTML page's charset to UTF-8. Did not work. I see that there are a million websites that let users copy and paste their resumes. How are these resumes stored and retrieved from a database using server side java? Any help will be greatly appreciated.
    Thanks,
    -kal

    The characters that the character set "ISO-88591-1" supports are as follow. Confirm your characters are in the range:
    0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b
    0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27
    0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
    0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49
    0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a
    0x5b 0x5c 0x5d 0x5e 0x5f 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f
    0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f
    0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x8a 0x8b 0x8c 0x8d 0x8e 0x8f
    0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97 0x98 0x99 0x9a 0x9b 0x9c 0x9d 0x9e 0x9f
    0xa0 0xa1 0xa2 0xa3 0xa4 0xa5 0xa6 0xa7 0xa8 0xa9 0xaa 0xab 0xac 0xad 0xae 0xaf
    0xb0 0xb1 0xb2 0xb3 0xb4 0xb5 0xb6 0xb7 0xb8 0xb9 0xba 0xbb 0xbc 0xbd 0xbe 0xbf
    0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc6 0xc7 0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf
    0xd0 0xd1 0xd2 0xd3 0xd4 0xd5 0xd6 0xd7 0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf
    0xe0 0xe1 0xe2 0xe3 0xe4 0xe5 0xe6 0xe7 0xe8 0xe9 0xea 0xeb 0xec 0xed 0xee 0xef
    0xf0 0xf1 0xf2 0xf3 0xf4 0xf5 0xf6 0xf7 0xf8 0xf9 0xfa 0xfb 0xfc 0xfd 0xfe 0xff

  • Can't find a degree sign in special characters - as in cosine of 56 'degrees'

    Can't find a degree sign in special characters - as in cosine of 56 'degrees'
    Noted - there is one under "letterlike characters" but it wouldn't go into document.

    If the font has been made correctly, you can place it by pressing Option+Shift+8. Example, 45°. If nothing happens, then that font doesn't have a degree glyph (or at least not in the correct place) and you'll have to use a different font to produce one.

  • Oracle text search - special characters issue

    Hi.
    I'm facing a real annoying problem with text search query, and everything I've tried failed...
    I have a table with a varchar column indexed by text index. The column contains special characters like '&', ',' and mainly- '-'. Since I want to disregard these special characters for searches I have created a basic lexer of type skipjoins for the column index. So now, the phrase 'aaa-bbb something'. for example, can be searched without '-', like this: 'aaabbb'. But I want to make it possible for this phrase to be searched with and without '-'. So, that when the user enters 'aaabbb' he will get the same results as when he enters 'aaa-bbb'.
    In other words, This condition:
    WHERE CONTAINS(column, '<query> <textquery grammar="context"> <progression><seq>'
    ||'aaabbb'
    ||'</seq></progression> </textquery> </query> ' ,1)> 2
    Will return the same results as this condition:
    WHERE CONTAINS(r.POI_NAME, '<query> <textquery grammar="context"> <progression><seq>'
    ||'aaa-bbb'
    ||'</seq></progression> </textquery> </query> ' ,1)> 2
    Since text query treats the '-' sign as a minus sign and searches for 'aaa' which doesn't contain 'bbb', the only way I found to fix this was to wrap the search text with {}. like this:
    WHERE CONTAINS(r.POI_NAME, '<query> <textquery grammar="context"> <progression><seq>'
    ||'{aaa-bbb}'
    ||'</seq></progression> </textquery> </query> ' ,1)> 2
    This all went very well, until I wanted to create a relaxation query. like this:
    WHERE CONTAINS(r.POI_NAME, '<query> <textquery grammar="context"> <progression><seq>'
    ||'{aaab}'
    ||'</seq><seq>'
    ||'{aaab}'
    ||'%</seq></progression> </textquery> </query> ' ,1)> 2
    In this case, I would expect the first part of the query to return no results (since it's not the whole word) but the second part, using '%' should have returned the record of 'aaa-bbb'. It doesn't. It will only return my result if I remove the '{}' for the second part. I can't do that, because the exact same search, when containing '-', will not return the expected results when I remove the braces (the sign is treated as minus sign):
    WHERE CONTAINS(r.POI_NAME, '<query> <textquery grammar="context"> <progression><seq>'
    ||'{aaab}'
    ||'</seq><seq>'
    ||'aaa-b'
    ||'%</seq></progression> </textquery> </query> ' ,1)> 2
    So I now have no solution. My question is- How can I create a query that will disregard the minus sign and treat it as a regular sign, but would still handle percentage sign as a special sign. So that I could run a query like the last example and will get the results of searching the phrase 'aaa-b%'?
    In short, and to simplify my question, I'm looking for a way to escape all characters (not only the minus sign) except for a specific character. Kind of like 'unescaping' a specific character (the '%' sign) within braces {}. Or, another way would be to remove the space that is added to the phrase inside the braces at the end of the word, preventing me from adding "%" at the end of the word, outside the braces.
    Thanks you,
    Nili

    I'm looking for a way to escape all characters (not only the minus sign) except for a specific character. Kind of like 'unescaping' a specific character (the '%' sign) within braces {}What about if you apply a function like regexp_replace to escape all known "specific characters", and then unescape the particular specific character again back as e.g. in
    SQL>  select 'a.da-df%df*' str, replace (
                                                   regexp_replace (
                                                        'a.da-df%df*',
                                                        '([[:punct:]])',
                                                        '\\\1'
                                                   str2
      from dual
    STR         STR2         
    a.da-df%df* a\.da\-df%df\*
    1 row selected.i.e. don't escape with curly brackets but with the backslash character.
    You can then use this string in your query like in
    WHERE CONTAINS(r.POI_NAME, '<query> <textquery grammar="context"> <progression><seq>'
    ||'aaab'
    ||'</seq><seq>'
    ||'aaa\-b'
    ||'%</seq></progression> </textquery> </query> ' ,1)> 2

  • How to compare two strings whether both are equal while ignoring the difference in special characters (example: & vs & and many others)?

    I attempted to compare two strings whether they are equal or not. They should return true if both are equal.
    One string is based on Taxonomy's Term (i.e. Term.Name) whereas other string is based on String object.
    The problem is that both strings which seem equal return false instead of true. Both string values have different special characters though their special characters are & and &
    Snapshot of different design & same symbols:
    Is it due to different culture or language?
    How to compare two strings whether both are equal while ignoring the difference in special characters (& vs &)?

    Hi Jerioon,
    If you have a list of possible ambiguous characters the job is going to be easy and if (& vs &) are the only charracters in concern awesome.
    You can use the below solution.
    Before comparing pass the variables through a replace function to standarize the char set.
    $Var = Replace($Var,"&","&")
    This is going to make sure you don't end up with ambiguous characters failing the comparison and all the char are "&" in this case.
    Similar technique is used to ignore Character Cases 'a' vs. 'A'
    Regards,
    Satyajit
    Please “Vote As Helpful”
    if you find my contribution useful or “Mark As Answer” if it does answer your question. That will encourage me - and others - to take time out to help you.

  • How to assign shortcuts to special characters?

    Hello everyone,
    I have a question about assigning shortcuts, so here I go: I would like to know if there is a way (and if yes, how) to assign personal shortcuts to special characters on my newly acquired MacBook Pro running Mac OS Lion.
    The problem is that I use the Swiss-French keyboard layout and that I cannot use directly the keyboard to insert characters, such as 'Ó' or 'Í' (capital letters), whereas – strangely – I can insert their respective lower case characters. I also happen to use various other characters from different languages, such as 'ð' or 'þ', to which I would like also to assign personal shortcuts, so as not to constantly have to change my keyboard layout for every single one of them.
    Thank you very much for helping me out!
    Cheers!

    Wow! Thank you very much for your very clear explanations Barney-15E!
    Here is what I get when I try to do what you said (and what is actually what I have been doing up to now).
    So basically this is what I get when I open Keyboard Viewer (I remind you that my keyboard layout is Swiss-French):
    I then have two options to type either of the two accents:
    Shift+^ to get `
    Option+^ to get ´
    The first accent works perfectly well. I can type all the needed letters bearing a ` accent, regardless of their respective case.
    However, a problem arises when trying to type capital letters accentuated with  ´ accent.
    Here is what I get for the lowercase (Option+^):
    Everything is fine (except that the ý is missing... Which is another concern of mine)...
    But look what happens when I try to do the same for capital letters.
    What the devil happened to the Á, Í, Ó and to the Ú? Only the É seems to remain...
    And thus my problem. I cannot type Ó,... Using this method. What I get is a silly ´O or ´I... Uppercase letters are not accentuated.
    I hope this time my problem was easier to understand...
    The best way to solve this would probably be to assign shortcuts to special characters, but as mentioned above, apparently such a method does not exist, unfortunately...

  • FindNode returning Null And XML Not Accepting Special Characters

    Hi All,
    i am trying the get the attribute value in the element "ns4:InfoCFDi" using FindNode method, but the method is returning NULL. I used the same code for other sample as well and was successfull. but for this specific XML file(which is below) I am getting a Null.
    i can get till S:Body, but when i try to use FindNode for ":Body/s4:ResponseGeneraCFDi" I get Null value.
    And I used "S:Body/*[local-name()=" | "ns4:ResponseGeneraCFDi" | "]";
    as mentioned in other post but still no success.
    ==>I Have one more question relating to special characters. I need to use characters such as - ó in my XML to read as well as write. When I try to read i am getting XML parse error and when writing, i cannot open the file properly.
    Your help is much appreciated.
    My code is here:
    Local XmlDoc &inXMLDoc, &reqxmldoc;
    Local XmlNode &RecordNode;
    &inXMLDoc = CreateXmlDoc();
    &ret = &inXMLDoc.ParseXmlFromURL("D:\Agnel\Mexico Debit Memo\REALRESPONSE.xml");
    If &ret Then
    &RecordNode = &inXMLDoc.DocumentElement.FindNode("" );
    If &RecordNode.IsNull Then
    Warning MsgGet(0, 0, "Agnel FindNode not found.");
    rem MessageBox(0, "", 0, 0, "FindNode not found");
    Else
    &qrValue = &RecordNode.GetAttributeValue("asignaFolio ");
    Warning MsgGet(0, 0, "asignaFolio." | &qrValue);
    End-If;
    Else
    Warning MsgGet(0, 0, "Error. ParseXmlString");
    End-If;
    XML File:
    - <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    - <S:Body>
    - <ns4:ResponseGeneraCFDi xmlns="http://www.xxl.com/ns/xsd/bf/rxx/52" xmlns:ns2="http://www.sat.gob.mx/cfd/3" xmlns:ns3="http://www.xx/ns/bf/conector/1&quo t; xmlns:ns4="http://www.xx/ns/xsd/bfxx/xx/32&qu ot; xmlns:ns5="http://www.xxcom/ns/xsd/bf/xxxxx&q uot; xmlns:ns6="http://wwwxx.com/ns/referenceID/v1">
    - <ns3:Result version="1">
    <ns3:Message message="Proceso realizado con exito." code="0" />
    </ns3:Result>
    - <ns4:InfoCFDi noCertificadoSAT="20001000000100003992" refId="STORFAC20121022085611" fechaTimbrado="2012-10-22T08:56:45" qr=" "
    uuid="a37a7d92-a17e-49f4-8e4d-51c983587acb" version="3.2" tipo="XML" archivo="xxx" sello="B8WjuhYLouSZJ6LU2EjxZ0a4IKyIENZNBx4Lb4 jkcAk6wA+EM477yz91/iDdsON0jm8xibBfom5hvHsH7ZK1ps3NnAXWr1LW 7ctmGsvYKAMvkCx/yOVzJTKFM2hN+OqCTE0WVfgv690vVy2CDQWKlMxbK+3idwG4t OKCMelrN9c=" fecha="2012-10-22T08:56:44" folio="281" serie="IICC">
    <InfoEspecial valor="Este documento es una representacin impresa de un CFDI." atributo="leyendaImpresion" />
    <InfoEspecial valor="||1.0|a37a7d92-a17e-49f4-8e4d-51c983587acb|2012-10-22T08:56:45|B8WjuhYLouSZJ6LU2EjxZ0a4IKyIENZNBx4Lb4 jkcAk6wA+EM477yz91/iDdsON0jm8xibBfom5hvHsH7ZK1ps3NnAXWr1LW 7ctmGsvYKAMvkCx/yOVzJTKFM2hN+OqCTE0WVfgv690vVy2CDQWKlMxbK+3idwG4t OKCMelrN9c=|20001000000100003992||" atributo="cadenaOriginal" />
    <InfoEspecial valor="Doscientos dieciocho mil cuatrocientos setenta y cinco pesos 00/100 M.N." atributo="totalConLetra" />
    </ns4:InfoCFDi>
    </ns4:ResponseGeneraCFDi>
    </S:Body>
    </S:Envelope>
    TIA

    First of all you have to supply a value you want to search for and this has to be the complete path to the value. You're saying you already tried that, but can you paste the code which you used for that? I don't see the path mentioned in the code you posted.
    *FindNode*
    Syntax
    FindNode(Path)
    Description
    Use the FindNode method to return a reference to an XmlNode.
    The path is specified as the list of tag names, to the node that you want to find, each separated by a slash (/).
    Parameters
    Path
    Specify the tag names up to and including the name of the node that you want returned, starting with a slash and each separated by a slash (/). This is known as the XPath query language.>
    Another option would be this snippet of code:
    &InfoCFDiArray = GetElementsByTagName("ns4:InfoCFDi");
    &InfoCFDiNode = &InfoCFDiArray [1];
    &attValue = &InfoCFDiNode.GetAttributeValue("noCertificadoSAT")
    Warning(&attValue);
    It creates an array of XML Nodes which match the name "ns4:InfoCFDi". Since there's only one in the XML it's safe to assume it will be the one and only node in the array. I've assigned that node to the variable &InfoCFDiNode and use that to retrieve the attribute "noCertificadoSAT" value. The warning message should display the value supplied there.
    Concering the special characters; you will have to change the encoding of the XML. Peoplecode sets this to UTF-8 by default, but doesn't include this in the header. There's a little hack for that somewhere on the web, I'll see if I can find it.

  • How do I use a font variation in a pages document. I no longer have the "viewer" -glyph option in special characters pane only new mbPro with Lion. I know the variation is available because I can see it in the font book. so now what I just want to be

    How do I use a font variation in a pages document? or other app for that matter? I no longer have the "viewer" - glyph option in the special characters pane (under edit  in toolbar). I know the varaition ia available because I can see it in my font book. I depended on that alot so I need to find a way to still use character and embellishments. I don't want to have to go back to my od computer (from2007) Please Help!

    I really don't understand.
    The menu item is available :
    Maybe, you didn't activate the tool :
    Yvan KOENIG (VALLAURIS, France) mardi 2 août 2011 23:10:17
    iMac 21”5, i7, 2.8 GHz, 4 Gbytes, 1 Tbytes, mac OS X 10.6.8 and 10.7.0
    My iDisk is : <http://public.me.com/koenigyvan>
    Please : Search for questions similar to your own before submitting them to the community
    To be the AW6 successor, iWork MUST integrate a TRUE DB, not a list organizer !

  • Special Characters in XML Publisher PDF Output

    Hi,
    I'm printing "Long Text" in report output in every line based on tab.
    Report output is having special characters like \n.
    I was using below to print in next line, any suggestions for removing \n.
    Below is what was happening:
    ===================
    RDF:
    =====
    lv_notes := replace(:CF_LONG_TEXT_DESC, chr(9), ' ') ;
    lv_notes1 := replace(lv_notes, chr(10), ' ') ;
    lv_notes2 := replace(lv_notes1, chr(13), ' ') ;
    XML
    ===
    <CF_LONG_TEXT_desc>
    Initial Billing Amount: $549,180.00 \n \n Computation: \n a) Estimated Number of Full-Time Students: 12,000 \n
    b) Estimated Number of Calendar Days: 113 \n
    c) Calendar Date (From - To): 1/18/2011 - 5/10/2011 \n
    d) Multiply by: $0.81 \n
    e) Estimated Total Costs: $1,098,360.00 \n
    f) Initial Billing Amount represents 50% of Estimated Total Costs. \n
    \n \n
    If you have questions about your invoice please contact Darud Akbar at (312) 681-2724.
    </CF_LONG_TEXT_desc>
    PDF Output
    ==========
    Initial Billing Amount: $549,180.00 \n \n Computation: \n a) Estimated Number of Full-Time Students: 12,000 \n
    b) Estimated Number of Calendar Days: 113 \n
    c) Calendar Date (From - To): 1/18/2011 - 5/10/2011 \n
    d) Multiply by: $0.81 \n
    e) Estimated Total Costs: $1,098,360.00 \n
    f) Initial Billing Amount represents 50% of Estimated Total Costs. \n
    \n \n
    If you have questions about your invoice please contact Darud Akbar at (312) 681-2724.
    Thanks.

    >
    Initial Value
    =======
    <?CF_LONG_TEXT_desc?>
    Changed to (Below gives me error)
    ========
    <?<xsl:value-of select="translate(CF_LONG_TEXT_desc,'\n','')"/>?>
    Changed to (Below doesn't fetch data)
    ========
    <xsl:value-of select="translate(CF_LONG_TEXT_desc,'\n','')"/>
    >
    must be in field as
    <xsl:value-of select="translate(CF_LONG_TEXT_desc,'\n','')"/>

Maybe you are looking for