0

Note: The real problems behind this are presented here, as per a recommendation on meta. This question should be closed as a non-reproducible off-topic because its main problem is solved by correcting a typo.


Hi fellows,

I have tried to follow various official tutorials and questions and supposed solutions (a few only appliying to, say Debian based distros), none of which worked. Adding things like LANG="pt_PT.UFT-8" in ~/.bashrc didn/t work either, although it quiets the man warning (but generated a few warnings like bash: can't set $LC_CTYPE (...) loading the shell after login):

man: can't set the locale; make sure $LC_* and $LANG are correct

My locale.conf file, which BTW has experienced a lot of combinations of LC* and LANG* variables:

LANG="pt_PT.UFT-8"
LANGUAGE="pt_PT.UFT-8"

The result of some other commands:

[jmcf125@jmcf125-Toshiba-Arch ~]$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pt_PT.UFT-8
LC_CTYPE="pt_PT.UFT-8"
LC_NUMERIC="pt_PT.UFT-8"
LC_TIME="pt_PT.UFT-8"
LC_COLLATE="pt_PT.UFT-8"
LC_MONETARY="pt_PT.UFT-8"
LC_MESSAGES="pt_PT.UFT-8"
LC_PAPER="pt_PT.UFT-8"
LC_NAME="pt_PT.UFT-8"
LC_ADDRESS="pt_PT.UFT-8"
LC_TELEPHONE="pt_PT.UFT-8"
LC_MEASUREMENT="pt_PT.UFT-8"
LC_IDENTIFICATION="pt_PT.UFT-8"
LC_ALL=

[jmcf125@jmcf125-Toshiba-Arch ~]$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US.utf8
pt_PT.utf8
[jmcf125@jmcf125-Toshiba-Arch ~]$ localectl
   System Locale: LANG=pt_PT.UFT-8
       VC Keymap: pt-latin9
      X11 Layout: pt

locale.gen (no comments):

en_US.UTF-8 UTF-8
pt_PT.UTF-8 UTF-8

locale-gen has always returned:

Generating locales...
  en_US.UTF-8
  pt_PT.UTF-8
Generation complete.

I have also tried uft8 instead of UFT-8 (that was part of the Ubuntu solution I used back then), with no good results (although I didn't try it in many places).

Besides, the keyboard on X is not pt-latin9, even if I do loadkeys pt-latin9 and related commands, although that's not my main problem right now. That is another question. The current problem is that Non ASCII characters are not displayed right (not in the tty, much less in X).

For example, if I click the key for c cedilla, I get a majuscule A with a trema, and I can delete am additional character of the prompt with Backspace! I suspect this is because the TTY expects 2 bytes to be 2 characters, and allows for an extra backspace. While ls gives a question mark per byte of the character (example: Transfer??ncias), Tab completion gives Transferências/ on X and something else (other non ASCII character) on a TTY.

I hope you can help me, this is really annoying and I don't know what else to do. Even while writing this question, I mistyped ' for / almost every time!

JMCF125
  • 1,052

1 Answers1

4

The output of locale -a is telling you that you have a locale named pt_PT.utf8. But you keep trying to use pt_PT.UFT-8, which doesn't exist. Use

LANG="pt_PT.utf8"
LANGUAGE="pt_PT.utf8"

pt_PT.UTF-8 should work also, but it's UTF-8, not UFT-8. The T comes before the F.

cjm
  • 27,160