View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0008819 | mantisbt | bugtracker | public | 2008-01-28 05:24 | 2010-05-11 11:52 |
| Reporter | Stalker | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| OS | Windows XP | OS Version | SP2 | ||
| Product Version | 1.1.1 | ||||
| Summary | 0008819: Invalid filename when downloading file with non-US character set | ||||
| Description | When a file attached to an issue has a filename with a non_US characters in it's name (ex. Russian), Where `utf8urlencode' defined as: Please note that the header must be different for mozilla based browsers and for IE. | ||||
| Additional Information |
| ||||
| Tags | No tags attached. | ||||
|
Thanks a lot, Stalker! Just replace whole function file_get_extension in core\file_api.php with following:
|
|
|
One more remark about encodings. echo htmlspecialchars( $v_content); and insert following code before it: if (mb_check_encoding($v_content,"cp1251")){This should fix text encoding. Also this may be useful for other non-latin users. |
|
|
Thank you very much. I believe mantis code should be rewrited so that every php non-utf-aware function is eliminated (or its arguments is preprocessed if possible) or replaced with mb_* equivalent. But mbstring is not enabled on most non-russian configurations. That is why using mb_* stuff should be conditional, if mbstring lib is available. IMHO the best solution is to implement a layer with equivalents to all non-utf-aware php stuff, which internally checks mbstring presence. |
|
|
I think it's fixed in 1.3. |
|