[ 
https://issues.apache.org/jira/browse/CXF-4499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-4499.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.7.0
                   2.6.3
                   2.5.6
                   2.4.10
         Assignee: Sergey Beryozkin
    
> wrong charset encoding in FormEncodingProvider 
> -----------------------------------------------
>
>                 Key: CXF-4499
>                 URL: https://issues.apache.org/jira/browse/CXF-4499
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.12
>            Reporter: boshi 
>            Assignee: Sergey Beryozkin
>             Fix For: 2.4.10, 2.5.6, 2.6.3, 2.7.0
>
>
> org.apache.cxf.jaxrs.provider.FormEncodingProvider
> {code}
>       public void writeTo(Object obj, Class<?> c, Type t, Annotation[] anns,
>                       MediaType mt, MultivaluedMap<String, Object> headers,
>                       OutputStream os) throws IOException, 
> WebApplicationException {
> // ....... else .....
>               
>         MultivaluedMap<String, String> map = (MultivaluedMap<String, 
> String>)obj;
>         boolean encoded = AnnotationUtils.getAnnotation(anns, Encoded.class) 
> != null;
>         
>         String encoding = HttpUtils.getSetEncoding(mt, headers, "UTF-8");  
>         
>         for (Iterator<Map.Entry<String, List<String>>> it = 
> map.entrySet().iterator(); it.hasNext();) {
>             Map.Entry<String, List<String>> entry = it.next();
>             for (Iterator<String> entryIterator = 
> entry.getValue().iterator(); entryIterator.hasNext();) {
>                 String value = entryIterator.next();
>                 os.write(entry.getKey().getBytes(encoding));
>                 os.write('=');
>                 String data = encoded ? value : urlEncode(value); // <--- 
> here urlEncode always use utf-8 ,  encoding get losted here
>                 os.write(data.getBytes(encoding));
>                 if (entryIterator.hasNext() || it.hasNext()) {
>                     os.write('&');
>                 }
>             }
>         }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to