2014-04-02 12:03 GMT+02:00 Sergey Beryozkin <[email protected]>:
> Hi,
> I've updated JSONProvider to pass the custom encoding if any to the readers.
> But only on the trunk as I had to update few protected methods and I think
> there may be few users customizing the jettison reader...
>
> By the way, I checked
> http://www.ietf.org/rfc/rfc4627.txt

You're right but my clients don't think like you ( and me )

I'm going to check headers ( Content-Type really )
Content-Type:application/json means payload is encoded with ISO-8859-1

I've seen that you use

String enc = HttpUtils.getEncoding(mt, "UTF-8");


but the default value, according HTTP spec , should be ISO-8859-1


Regards




>
> It says only UTF-8 and other UTF-* encoding are supported.
> Not sure if that is too limiting or not, I guess if the client or server
> uses some other encoding with a charset parameter then we can support it...
>
> Cheers, Sergey
>
> On 01/04/14 19:10, Jose María Zaragoza wrote:
>>
>> 2014-03-14 22:17 GMT+01:00 Sergey Beryozkin <[email protected]>:
>>>
>>> Hi, sure, see changes at
>>> https://issues.apache.org/jira/browse/CXF-5619
>>
>>
>> Hi:
>>
>> I was having a look at this bug and I've seen that you fixed it for
>> createStreamWriter()  method( I tested it and it works fine )
>> but you didn't it  for createStreamReader() method, any reason ?
>>
>> I think the solution is in JSONUtils.java source class, in the line with
>>
>> new JettisonReader(namespaceMap, factory.createXMLStreamReader(is));
>>
>> Should it be factory.createXMLStreamReader(is, enc)  ?
>>
>>
>> So I guess it should be a
>>
>> String enc = HttpUtils.getSetEncoding(m, headers, "UTF-8");
>>
>> in
>>
>> T readFrom(Class<T> type, Type genericType, Annotation[] anns,
>> MediaType mt, MultivaluedMap<String, String> headers, InputStream is)
>>
>>
>>
>>
>> And another question :
>>
>> what about these methods
>>
>> public static XMLStreamWriter createBadgerFishWriter(OutputStream os)
>> throws XMLStreamException
>> public static XMLStreamReader createBadgerFishReader(InputStream is)
>> throws XMLStreamException
>>
>> ?
>>
>> Should they have a encoding parameter ?
>>
>>
>> Thanks and regards
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>>
>>> Cheers, Sergey
>>>
>>> On 14/03/14 18:06, Jose María Zaragoza wrote:
>>>>
>>>>
>>>> 2014-03-14 18:41 GMT+01:00 Sergey Beryozkin <[email protected]>:
>>>>>
>>>>>
>>>>> Fortunately the bug is in CXF JSONUtils, whcih always passes UTF-8 to
>>>>> Jettison. So it's now fixed, thanks for spotting it
>>>>
>>>>
>>>>
>>>>
>>>> Thank you
>>>>
>>>> How can I get this JSONUtils fixed ?
>>>> I would like to backport this patch to CXF 2.7.8 , could you help me
>>>> to know the line(s) fixed ?
>>>>
>>>>
>>>> Regards
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> Cheers, Sergey
>>>>>
>>>>>
>>>>> On 14/03/14 16:02, Sergey Beryozkin wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Looks like it is something related to Jettison...XML works OK.
>>>>>> Need to investigate more.
>>>>>>
>>>>>> Thanks, Sergey
>>>>>>
>>>>>>
>>>>>> On 14/03/14 12:29, Jose María Zaragoza wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I've got to return "application/json;charset=iso-8859-1" but
>>>>>>> i've checked that it always returns UTF-8 encoding
>>>>>>>
>>>>>>> I tested with universalchardet by Mozilla , with Firefox browser (
>>>>>>> changing View -> Encoding  ) and with
>>>>>>> InputStreamReader(connection.getInputStream(),"iso-8859-1"));
>>>>>>>
>>>>>>> For example:
>>>>>>>
>>>>>>> CODE:200
>>>>>>> HEADER:{[HTTP/1.1 200 OK], Date=[Fri, 14 Mar 2014 12:26:13 GMT],
>>>>>>> Transfer-Encoding=[chunked],
>>>>>>> Content-Type=[application/json;charset=iso-8859-1],
>>>>>>> Server=[Apache-Coyote/1.1]}
>>>>>>> Detected encoding = UTF-8
>>>>>>>
>>>>>>> Why is not encoding in iso-8859-1 ?
>>>>>>>
>>>>>>> Regards
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sergey Beryozkin
>>>>>
>>>>> Talend Community Coders
>>>>> http://coders.talend.com/
>>>>>
>>>>> Blog: http://sberyozkin.blogspot.com
>>>
>>>
>>>
>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
>>> Blog: http://sberyozkin.blogspot.com
>
>

Reply via email to