From Fedora Project Wiki

m (1 revision(s))
Line 11: Line 11:


Filenames under Linux can be in any number of encodings.  However, the tools we ship with the distribution have no way of knowing what the encoding of the filenames are.  When the user creates their own files, they can tell the tools what the encoding is.  When we ship files we need to make sure they follow a standard.  For the rest of the components of the distribution, that standard is utf8.  We should follow the same standard with regard to filenames.
Filenames under Linux can be in any number of encodings.  However, the tools we ship with the distribution have no way of knowing what the encoding of the filenames are.  When the user creates their own files, they can tell the tools what the encoding is.  When we ship files we need to make sure they follow a standard.  For the rest of the components of the distribution, that standard is utf8.  We should follow the same standard with regard to filenames.
[[Category:Archived packaging guideline drafts]]

Revision as of 19:41, 21 February 2009

Filename Encoding

For the checklist

MUST: All filenames in rpm packages must be valid utf8.

For the guidelines

Filenames that contain non-ASCII characters must be encoded as utf8. Since there's no way to note which encoding the filename is in, using the same encoding for all filenames is the best way to ensure users can read the filenames properly. If upstream ships filenames that are not encoded in utf8 you can use a utility like convmv (from the convmv package) to convert the filename in your %install section.

Justification

Filenames under Linux can be in any number of encodings. However, the tools we ship with the distribution have no way of knowing what the encoding of the filenames are. When the user creates their own files, they can tell the tools what the encoding is. When we ship files we need to make sure they follow a standard. For the rest of the components of the distribution, that standard is utf8. We should follow the same standard with regard to filenames.