Before you do  log.info("Message: " + message);

Simply copy paste the lines between ====== and ==========

and as shown in the code below try to get the log info for the same.. you
will get correct code without special characters ? &??
=========================================================
String newMessage = utfEightConvert(message);

log.info("Message: " + newMeessage);

   /**
     *
     * @param utfEightString
     * @return String converted to USF-8 format and send it to the caller .
     * @throws java.io.UnsupportedEncodingException
    */
    public static final String utfEightConvert(String utfEightString)
            throws java.io.UnsupportedEncodingException {

        byte[] bytes = new byte[utfEightString.length()];
        for (int i = 0; i < utfEightString.length(); i++) {
            bytes[i] = (byte) utfEightString.charAt(i);
        }
        return new String(bytes, "UTF-8");

    }

=================================================================



On Thu, Jun 24, 2010 at 1:38 AM, Loh Kok Jeng <[email protected]> wrote:

> Hi,
>
> I develop on Windows and deploy on AIX.  On both OS, I get the same result.
>
> Thanks for the tips on Eclipse.  I have made the change but the
> characters are still not displayed correctly.
>
> BTW, I use SoapUI to submit the request, and I set the Encoding to UTF-8.
>
> regards,
> Loh Kok Jeng
>
>
>
> On 24 June 2010 13:22, Ron Grimes <[email protected]> wrote:
> > Have you considered that it is not the conversion to UTF-8 that is
> incorrect, but the software you're using to display the log? For example,
> when viewing logged results to the Eclipse console, it will do a similar
> thing if you do not go into Preferences and change the "text file encoding"
> to UTF-8. I don't recall you mentioning your development box O/S or the
> software used to show the log. But, it is possible that is the culprit. Or
> not, but something to check.
> >
> > Ron
> >
> >
> > ________________________________________
> > From: Loh Kok Jeng [[email protected]]
> > Sent: Wednesday, June 23, 2010 7:24 PM
> > To: [email protected]
> > Subject: Re: UTF-8 Characters in Request Params for REST Service
> >
> > On 24 June 2010 09:11, Loh Kok Jeng <[email protected]> wrote:
> >> Hi Sergey,
> >>
> >> This is for form based submission.
> >>
> >> Below is a snippet of my code.  I want to be able to accept non-ASCII
> >> characters in "message" parameter below.  However, when I tested with
> >> Chinese characters, they are converted to "?" as shown in my logs.
> >>
> >> Any help will be very much appreciated.
> >>
> >>   @POST
> >>    // @Consumes("application/x-www-form-urlencoded")
> >>    public SMSSendSmsResponse sendSms(@HeaderParam("Authorization")
> >> String authorization,
> >>                                      @Context MessageContext mc,
> >> @FormParam("address") List<String> address,
> >>                                      @FormParam("message") String
> message,
> >>                                      @FormParam("notifyURL") String
> notifyURL,
> >>                                      @FormParam("correlator") String
> >> correlator,
> >>                                      @FormParam("senderName") String
> >> senderName,
> >>                                      @FormParam("Charging") String
> Charging)
> >>        throws MalformedURLException,  PolicyException, ServiceException
> {
> >>
> >>        if (address != null) {
> >>            for (Iterator<String> i = address.iterator(); i.hasNext();) {
> >>                log.info("Address: " + i.next());
> >>            }
> >>        }
> >>        log.info("Message: " + message);
> >>        log.info("Notify URL: " + notifyURL);
> >>        log.info("Correlator: " + correlator);
> >>        log.info("Sender Name: " + senderName);
> >>        log.info("Charging: " + Charging);
> >>
> >>        ....
> >>
> >> }
> >> regards,
> >> Loh Kok Jeng
> >>
> >>
> >>
> >> On 24 June 2010 02:00, Sergey Beryozkin <[email protected]> wrote:
> >>> I need to know the details of the request and how a resource method
> >>> expecting the values looks like
> >>>
> >>> thanks, Sergey
> >>>
> >>> On Tue, Jun 22, 2010 at 7:10 PM, Rakesh Rai <[email protected]>
> wrote:
> >>>
> >>>> This is the method that does the trick.... converts to UTF-8 and
> transforms
> >>>> to UTF-8 format string and sends it back to the caller
> >>>> Wherever in your service class / action class add this method and
> convert
> >>>> the existing string to return the UTF-8 transformed string / text
> >>>>    /**
> >>>>     *
> >>>>     * @param utfEightString
> >>>>     * @return String converted to USF-8 format and send it to the
> caller .
> >>>>     * @throws java.io.
> >>>> UnsupportedEncodingException
> >>>>     */
> >>>>    public static final String utfEightConvert(String utfEightString)
> >>>>            throws java.io.UnsupportedEncodingException {
> >>>>
> >>>>        byte[] bytes = new byte[utfEightString.length()];
> >>>>        for (int i = 0; i < utfEightString.length(); i++) {
> >>>>            bytes[i] = (byte) utfEightString.charAt(i);
> >>>>        }
> >>>>        return new String(bytes, "UTF-8");
> >>>>
> >>>>    }
> >>>>
> >>>> Hope it helps.
> >>>> Rakesh
> >>>>
> >>>>
> >>>> On Tue, Jun 22, 2010 at 1:47 PM, Sergey Beryozkin <
> [email protected]
> >>>> >wrote:
> >>>>
> >>>> > Is it a form based submission ? or XML is posted in the body ?
> >>>> >
> >>>> >
> >>>> > cheers, Sergey
> >>>> >
> >>>> > On Mon, Jun 21, 2010 at 6:00 PM, Loh Kok Jeng <
> [email protected]>
> >>>> > wrote:
> >>>> >
> >>>> > > Dear all,
> >>>> > >
> >>>> > > I'm struggling with non-ASCII characters passed in request params
> of a
> >>>> > > REST service.  The characters become ? when received by my app
> >>>> > > developed using CXF.  The encoding is set to UTF-8 by the REST
> client.
> >>>> > >  Why do I get "?"?
> >>>> > >
> >>>> > > Thanks in advance.
> >>>> > >
> >>>> >
> >>>>
> >>>
> >>
>



-- 
Email : [email protected]
Addr: 116 Fringetree Drive, West Chester, PA, 19380

Cell Ph : 551 998 4457
Fax : 270-573-1611

Renaissance of Darwinism : It is not the strongest of the species that
survive, nor the most intelligent, but the ones most responsive to change.

Reply via email to