"Unprintable" 8-bit characters

Michael Ross gmx at ross.cx
Wed Nov 9 01:51:44 UTC 2011


Am 09.11.2011, 01:42 Uhr, schrieb Conrad J. Sabatier <conrads at cox.net>:

> Pardon me if this may seem like a stupid question, but this is
> something that's been bugging me for a long time, and none of my
> research has turned up anything useful yet.
>
> 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.
>
> 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.

Unsure if I understand you correctly.
("extended" 8-bit character set with MSB? utf-16?)
I'm confused by this charset stuff in general.

Assuming you want \0xfc displayed as "ü",

> cat test.py && python test.py && ls -l

#!/usr/local/bin/python
# -*- coding: utf-8 -*-

f=open('\xfc','w')
f.close()
total 2

-rw-r--r--  1 michael  wheel  29  9 Nov 02:43 test.py
-rw-r--r--  1 michael  wheel   0  9 Nov 02:44 ü


here is what works for me:

in my login class in /etc/login.conf:

         :charset=ISO-8859-1:\
         :lang=de_DE.ISO8859-1:\

``cap_mkdb /etc/login.conf'' after changes


in /etc/rc.conf:

	scrnmap="iso-8859-1_to_cp437"
	font8x8="cp850-8x8"
	font8x14="cp850-8x14"
	font8x16="cp850-8x16"


and in /etc/ttys, console type is set to ``cons25l1''


Regards,

Michael


More information about the freebsd-questions mailing list