Archive:PackagingDrafts/Utf8Filenames

= 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.