Date: Tue, 24 May 2011 06:44:46 +0200 From: Frank Bonnet <f.bonnet@esiee.fr> To: Modulok <modulok@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: Filename containing French characters ? Message-ID: <4DDB37BE.7080301@esiee.fr> In-Reply-To: <BANLkTikEMQBm0743qaRsw-d%2B0RtWFxwEjw@mail.gmail.com> References: <990E8670-2137-4F80-8D9D-BCEB05C6ECAA@esiee.fr> <BANLkTikEMQBm0743qaRsw-d%2B0RtWFxwEjw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks that is working :-) Now I have to test the application ( apache based application ) to see if it is able to open the file. I'll tell in few hours when arrived to my office Le 23/05/2011 17:50, Modulok a =E9crit : > Short answer, use a glob pattern. Assume I have a file named '=E0 fichi= er.txt': > > ls -l > -rw-r--r-- 1 Modulok Modulok 12 May 23 09:01 ?? fichier.tx= t > > mv ?\ fichier.txt aFile.txt > > Long answer, for those who want to follow along and fix their terminal = to > display UTF-8, keep reading... > > Step 1: Make a funky file to play along with this min-tutorial: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Create a text file with an editor that supports non-ASCII characters. I > created a file named 'filename' which containing this (no newline!): > > =E0 fichier.txt > > Step 2: Create the actual file with content > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > I used echo and cat like so in the tcsh shell: > > echo "hello world"> "`cat filename`" > > > Step 3: Show the file in ls > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > > As you can see below, the first character of the filename is displayed = as two > question marks. This is the terminal's way of showing filenames that it= cannot > display correctly. There are two question marks, because this is a two-= byte > character. This does *not* mean the filename starts with a literal ques= tion > mark: > > > -rw-r--r-- 1 Modulok Modulok 12 May 23 09:01 ?? fichier.tx= t > > Step 4: (optional) Fix the terminal > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > At this point, let's just fix the terminal so that UTF-8 characters are > displayed correctly. We want to see the French accented '=E0', and not = a bunch of > question marks. To do this, you edit '/etc/login.conf' as root. Add two= lines > at the bottom of the 'default' section. My default section now looks li= ke this: > > > default:\ > :passwd_format=3Dmd5:\ > :copyright=3D/etc/COPYRIGHT:\ > > ...and so on... > > :charset=3Den_US.UTF-8:\ > :lang=3Den_US.UTF-8: > > If you're a French operation yours should probably look like this inste= ad: > > default:\ > :passwd_format=3Dmd5:\ > :copyright=3D/etc/COPYRIGHT:\ > > ...and so on... > > :charset=3Dfr_FR.UTF-8:\ > :lang=3Dfr_FR.UTF-8: > > I'm not certain on these for all countries, but the above examples work= . We > then need to rebuild the actual login database. Execute the following c= ommand > as root: > > cap_mkdb /etc/login.conf > > This generates /etc/login.conf.db from /etc/login.conf. Now log out and= then > back in! > > > Step 5: Back to the funky file > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > You should now see the actual accent characters correctly in the termin= al. > (Assuming your terminal supports this): > > -rw-r--r-- 1 Modulok Modulok 12 May 23 09:01 =E0 fichier.t= xt > > In some ternimals, we cannot type these characters. So you can access t= he > filename through a shell glob pattern. In most shells, the glob pattern= '?' > matches any single character. The forward slash escapes the space in th= e > filename. > > mv ?\ fichier.txt aFile.txt > > > Hope this helps (and doesn't get too mangled.) > -Modulok-
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DDB37BE.7080301>