Date: Tue, 8 Nov 2011 20:09:20 -0600 From: "Conrad J. Sabatier" <conrads@cox.net> To: Robert Bonomi <bonomi@mail.r-bonomi.com> Cc: freebsd-questions@freebsd.org Subject: Re: "Unprintable" 8-bit characters Message-ID: <20111108200920.2724a742@cox.net> In-Reply-To: <201111090117.pA91HRDo065662@mail.r-bonomi.com> References: <20111108184236.3a78ebf6@cox.net> <201111090117.pA91HRDo065662@mail.r-bonomi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 8 Nov 2011 19:17:27 -0600 (CST) Robert Bonomi <bonomi@mail.r-bonomi.com> wrote: > > On Tue, 8 Nov 2011 18:42:36 -0600, "Conrad J. Sabatier" wrote: > > > > I've been trying to understand what the deal is with regards to the > > displaying of the "extended" 8-bit character set, i.e., 8-bit > > characters with the MSB set. > > Quite simply Unix dates from the days where the 8th bit was used as a > 'parity' bit. Allowing detection of *all* single-bit errors -- > especially over the notoriously un-reliable connections known as > 'serial ports'. > > > > More specifically, I'm trying to figure out how to get the "ls" > > command to properly display filenames containing characters in this > > extended set. I have some MP3 files, for instance, whose names > > contain certain European characters, such as the lowercase "u" with > > umlaut (code 0xfc in the Latin set, according to gucharmap), that I > > just can't get ls to display properly. These characters seem to be > > considered by ls as "unprintable", and the best I've been able to > > produce in the ls output is backslash interpretations of the > > characters using either the -B or -b options, otherwise the default > > "?" is displayed in their place. > > > > The strange thing is that these characters will display just fine in > > xterm, gnome-terminal, etc. I can copy and paste them from the > > gucharmap utility into a shell command line or other application, > > and they appear as they should, but ls simply refuses to display > > them. I can print them using the printf command, even bash's > > builtin echo seems to have no problem with them. Only ls appears > > to have this problem. > > > > I've experimented with using various locales, using the LC_* > > variables, as well as the LANG variable (as documented in the > > environment section of the ls man page), all to no avail. > > Obviously you never read as far as the '-w' switch. <grin> Just a quickie followup: Setting LC_ALL=en_US.UTF-8 and using "ls -w" was, in fact, the magic key (at least, in any of the X terminal apps; still getting the little "exponential n" in the console)! Thank you so much. I'll sleep much better tonight. :-) -- Conrad J. Sabatier conrads@cox.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111108200920.2724a742>