Anonymous | Login | Signup for a new account | 10-30-2024 04:15 PDT |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0005928 | [Quercus] | block | always | 07-27-15 23:12 | 07-30-15 06:43 | |||||||
Reporter | weich | View Status | public | |||||||||
Assigned To | ||||||||||||
Priority | normal | Resolution | open | |||||||||
Status | new | Product Version | 4.0.36 | |||||||||
Summary | 0005928: serialize/unserialize unicode(CJK) string yields unkown characters sometimes. | |||||||||||
Description |
I have a application runing on nginx/php5-fpm server, it can display the chines/japanese characters correctly. but after I switched to resin4.0.44 server. some page display "????" somewhere. after long time trouble-shooting, I found there are some difference between the result generated by php5 function serialze/unserialze and the one generated by the countparts in resin4. I guess the bug is in the class: StringBuilderValue, which get the wrong byte length when try to make a copy of a string. But I need your guys' confirmation, you are experts. is this correct? file : StringBuilderValue.java public StringBuilderValue(String s) { int len = s.length(); _buffer = new byte[len]; _length = len; for (int i = 0; i < len; i++) { _buffer[i] = (byte) s.charAt(i); } } shouldn't it use "s.getBytes().length" as the following lines: public StringBuilderValue(String s) { byte[] bytes = s.getBytes(); int len = bytes.length; _buffer = new byte[len]; _length = len; System.arraycopy(bytes, 0, _buffer, 0, len); } |
|||||||||||
Additional Information | ||||||||||||
Attached Files |
api.php [^] (41 bytes) 07-30-15 06:29 test.php [^] (1,247 bytes) 07-30-15 06:41 |
|||||||||||
|
Notes | |
(0006645) weich 07-30-15 06:43 |
step to reproduce: open the test.php in browser. click "&26356;&26032;"&65292; and you will see the serialized string at the page end. |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
35 total queries executed. 28 unique queries executed. |