プロジェクト

全般

プロフィール

Vote #64228

完了

Filesystem Repository path encoding of non UTF-8 characters

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
SCM_3
対象バージョン:
開始日:
2008/12/04
期日:
進捗率:

100%

予定工数:
category_id:
3
version_id:
27
issue_org_id:
2274
author_id:
1856
assigned_to_id:
11192
comments:
7
status_id:
5
tracker_id:
1
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

The filesystem repository has some issues regarding special characters in filenames or directory names.
If the name if a file or directory contains a special char (like ü, ö, ä for example), the codepage will get mixed up
and the browser will having trouble displaying it (see attached pictures). If one corrects the codepage manually,
the files in the repo will be displayed correctly, but every other special char (table headers, etc.) will get messed up.

In addition to that, if a directoy contains a special char, it is browseable, but every subdir and file in that directory is not.
That is mainly because every '/' after the special char will be converted to %2F and every special char will be converted to its entity, completely messing the URI up. You will get a 404 (not found) error So, for instance

@http://redmine.my.domain/repositories/browse/project/Brücke -> http://redmine.my.domain/repositories/browse/project/Br%FCcke@
@http://redmine.my.domain/repositories/browse/project/Brücke/übersicht.jpg -> http://redmine.my.domain/repositories/browse/project/Br%FCcke%2F%FCbersicht.jpg@

Manually replacing every %2F with / did not help really. You will get the Redmine page, but an error saying that the file does not exist in the repo. Replacing every %-code with its special char will lead to a 500 (internal) error.

Setting the codepages under Administration -> Repositories -> Codepages does not affect this in any way. Tried settings:

  • UTF-8, ISO 8859-1, ISO 8859-15, CP1252
  • ISO-8859-1, ISO-8859-15, UTF-8, CP1252
  • ISO-8859-15, ISO-8859-1, UTF-8, CP1252

Tested under:

  • Redmine 0.7.3.devel.2079 (MySQL)
  • ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
  • Rails 2.1.0

journals

Hi Tony,

I can't reproduce it here with chars like é € ä ß or à ... My only available environment is Linux, so it might be related to your windows environment. Can anybody else confirm this bug and narrow it as much as possible ?
--------------------------------------------------------------------------------
I just noticed that I forgot to upload the pictures, so here they are.

It could be related to my Windows environment (Windows Server 2003). If I can help you in any way to narrow or track down the problem, please let me know.

Also, the path in the first two pictures remains fully browseable (and the files downloadable), but some other paths and directories do not. Sadly, I can't find any notable difference in those paths and filenames.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Try #2664 "note-19":http://www.redmine.org/issues/2664#note-19 patches.

These are my Japanese Windows Vista images.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
I finished implementing until r4944.

It is impossible to prepare test tar ball and test non UTF-8 encoding paths on all OSs, filesystems and Languages.

If tar ball has Latin-1 path encoding files, I can't extract it on my Japanese Windows.

Please refer.
http://mercurial.selenic.com/wiki/EncodingStrategy?action=recall&rev=6

--------------------------------------------------------------------------------


related_issues

relates,Closed,2664,Mercurial: Repository path encoding of non UTF-8 characters

Admin Redmine さんが3年以上前に更新

  • カテゴリSCM_3 にセット
  • 対象バージョン1.2.0_27 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0