Filename containing French Characters

Robert Bonomi bonomi at mail.r-bonomi.com
Tue May 24 12:00:51 UTC 2011


> Date: Tue, 24 May 2011 10:28:02 +0200
> From: Frank Bonnet <f.bonnet at esiee.fr>
> Subject: Re: Filename containing French characters ?
>
> On 05/24/2011 10:01 AM, Robert Bonomi wrote:
> >>  From owner-freebsd-questions at freebsd.org  Tue May 24 02:32:36 2011 
> >>  Date: Tue, 24 May 2011 09:32:20 +0200 From: Frank 
> >>  Bonnet<f.bonnet at esiee.fr> To: freebsd-questions at freebsd.org Subject: 
> >>  Re: Filename containing French characters ?
> >>
> >> OK now the filenames are well displayed in the console
> >> \BUT ...
> >>
> >> It still does not work with apache ( 404 file not found ! )
> >>
> >> here is the log of apache when trying to access a filename that 
> >> contains those bloody characters
> >>
> >> 82.238.8.126 - - [24/May/2011:06:56:01 +0200] "GET
> >> /cv/ESIEE_MANAGEMENT/Systeme_information/11_EM2_SI_JUIN_CV_AMICHIA_Ant=
> hony
> >> %20Aim%C3%A9e%20Marthe%20Moteh.docx HTTP/1.1" 404 1337
> >>
> >> The problem comes from the %C3%A9e character ( e eacute )

Not surprising, there is _no_ "%C3%A9e" character in the file name.  <grin>
>
> ls -lb in the directory give that :
>
> -rw-r--r--  1 www-data  www-data   18294 24 mai 03:00 
> 11_EM2_SI_JUIN_CV_AMICHIA_Anthony Aim\351e Marthe Moteh.docx
>
> but wildcards fails ....

Ah so.  

There is an 'unfortunate' line-break in the ls output you show. This may
be *VERY* significant.  IF what is shown above _is_ *exactly* how the output 
appears, then there is a '[NL]' as the first character of the filename. In 
_that_ case, putting a '?' or '*' on the front of the wildcard string 
_should_ expand to the actual file nam.  That is, "ls -lb ?11_EM2*" should 
succeed.

OTOH, *IF* the ls -lb output appears as one long line, please check the 
output _carefully_, and report _how_many_spaces_ between the last digit of 
the timestamp, and the fist 'visible' character of the file name.  Check 
that count against a file name that you _can_ wild-card.  (I've got a nasty 
suspicion that there is a _space_ or other 'non-printing' character as the 
first character of the filename.) 

*IF* "none of the above" applies, then (and ONLY then) the following applies:
  1) try fetching the URL:
       <http://{{server}}/cv/ESIEE_MANAGEMENT/Systeme_information/11_EM2_SI_JUIN_CV_AMICHIA_Anthony%20Aim%E9e%20Marthe%20Moteh.docx>

  2) NOTE:   filename 'globbing' (what you call 'wildcards') failing to match 
     that filename *is* a genuine "bug" as regards whatever shell you are 
     using, and you SHOULD file a formal bug report (aka "PR") on that issue.

  3) For completeness, try the 'ls -lb  11*' command, while in the data 
     directory, under 'sh', 'tcsh', 'ksh', 'zsh', =and= 'bash'.  file a bug
     report for every shell where the wildcard expansion fails.

     For the bug report, Include the output generated by script(1), showing
     the 'ls -lb' of the entire directory, _and_ the attempt to use a 
     wildcard match. Do _NOT_ edit that script log file in any way.

     the ideal sequence is:
	1) invoke script(1).
	2) invoke the shell being tested.
	3) cd(1) to the relevant directory
	4) execute 'ls -lb'
	5) execute 'ls -lb 11*"
	6) exit the shell under test.
	7) exit scriot(1)
	8) save the 'typescript' file under an appropriate name.

	repeat for each shell tested.



More information about the freebsd-questions mailing list