# UTF8 + polskie znaki - konsola

## MiChaSSs

Hej,  :Wink: 

na poczatku chcialem zaznaczyc iz przeczytalem how to oraz inne tematy na tym forum wiazace sie z tym problemem jednak nadal sobie nie moge z tym poradzic  :Sad:  Problem polega na tym, ze w konsoli nie sa widoczne polskie znaki, zamiast nich mam cos  takiego (na przykladzie ekg)

```

14:25 ::: EKG-1.7 (Eksperymentalny Klient Gadu-Gadu)                                                                                                                                                      

14:25 ::: Program jest rozprowadzany na zasadach licencji GPL v2                                                                                                                                          

14:25 ::: Przed u�yciem wci�nij F1 lub wpisz ,,help''                                                                                                                                                     

14:25                                                                                                                                                                                                    

14:25 ::: ��cz� si� z serwerem...                                                                                                                                                                         

14:25 ::: Po��czono

```

Kodowanie konsoli jest w UTF8. Moge wpisywac polskie znaki takie jak ółć i sa one widoczne, natomiast zamiast ąęń widze "kwadraciki"

```

cat /etc/conf.d/consolefont

# /etc/conf.d/consolefont

# CONSOLEFONT specifies the default font that you'd like Linux to use on the

# console.  You can find a good selection of fonts in /usr/share/consolefonts;

# you shouldn't specify the trailing ".psf.gz", just the font name below.

# To use the default console font, comment out the CONSOLEFONT setting below.

# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do

# not want to use it, run "rc-update del consolefont" as root).

CONSOLEFONT="lat2a-16"

# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use

# the default one.  Have a look in /usr/share/consoletrans for a selection of

# map files you can use.

CONSOLETRANSLATION="8859-2_to_uni"

```

```

cat /etc/conf.d/keymaps

# /etc/conf.d/keymaps

# Use KEYMAP to specify the default console keymap.  There is a complete tree

# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="pl"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="no"

# The maps to load for extended keyboards.  Most users will leave this as is.

EXTENDED_KEYMAPS=""

#EXTENDED_KEYMAPS="backspace keypad euro"

# Tell dumpkeys(1) to interpret character action codes to be

# from the specified character set.

# This only matters if you set UNICODE="yes" in /etc/rc.conf.

# For a list of valid sets, run `dumpkeys --help`

DUMPKEYS_CHARSET="iso-8859-2"

```

```

cat /etc/env.d/02locale

LANG="pl_PL.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_CTYPE="pl_PL.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_TIME="pl_PL.UTF-8"

LC_MONETARY="pl_PL.UTF-8"

LC_COLLATE="pl_PL.UTF-8"

LC_NUMERIC="pl_PL.UTF-8"

LC_PAPER="pl_PL.UTF-8"

```

```

cat /etc/env.d/99locale

LANG="pl_PL.UTF-8"

LC_MESSAGES="en_US.UTF-8"

```

```

emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] sys-libs/glibc-2.6.1  USE="nls -debug -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -profile (-selinux)" 0 kB

```

```

res michasss # locale

LANG=pl_PL.UTF-8

LC_CTYPE=pl_PL.UTF-8

LC_NUMERIC=pl_PL.UTF-8

LC_TIME=pl_PL.UTF-8

LC_COLLATE=pl_PL.UTF-8

LC_MONETARY=pl_PL.UTF-8

LC_MESSAGES=en_US.UTF-8

LC_PAPER=pl_PL.UTF-8

LC_NAME="pl_PL.UTF-8"

LC_ADDRESS="pl_PL.UTF-8"

LC_TELEPHONE="pl_PL.UTF-8"

LC_MEASUREMENT="pl_PL.UTF-8"

LC_IDENTIFICATION="pl_PL.UTF-8"

LC_ALL=

```

```

res michasss # locale -a

C

en_US

en_US.utf8

pl_PL

pl_PL.iso88592

pl_PL.utf8

POSIX

```

Macie jakis pomysl ?

----------

## Spaulding

ekg nie ma wsparcia dla unicodu  :Smile:  uzywaj ekg2

----------

## quosek

tylko ekg2 wydaje się nierozwijać, a przy ekg nadal walczą ....

----------

## Fazi

Mam dokładnie ten sam problem, co Ty. U mnie jeszcze polskie komunikaty jakie wyświetlane są przez portage również są z "kwadratami".

Dodatkowo, w Gnome nie mogę w ogóle wpisywać polskich znaków (nic się nie dzieje). Natomiast dokumenty z polskimi znakami wyświetlane są poprawnie.

Podobnie jak Ty, korzystałem z w/w HOWTO.

Co z tym można zrobić?

----------

## MiChaSSs

dobra, daruje sobie UTF-8 bo nie wszystkie progi to wspieraja, dlatego teraz usilnie probuje przejsc na iso-8859-2, ale niestety bezskutecznie ;-(

```

res michasss # locale

LANG=pl_PL

LC_CTYPE=pl_PL

LC_NUMERIC=pl_PL

LC_TIME=pl_PL

LC_COLLATE=pl_PL

LC_MONETARY=pl_PL

LC_MESSAGES=en_US

LC_PAPER=pl_PL

LC_NAME="pl_PL"

LC_ADDRESS="pl_PL"

LC_TELEPHONE="pl_PL"

LC_MEASUREMENT="pl_PL"

LC_IDENTIFICATION="pl_PL"

LC_ALL=

```

```

res michasss # locale -a

C

en_US

pl_PL

POSIX

```

```

res michasss # cat /etc/conf.d/consolefont

# /etc/conf.d/consolefont

# CONSOLEFONT specifies the default font that you'd like Linux to use on the

# console.  You can find a good selection of fonts in /usr/share/consolefonts;

# you shouldn't specify the trailing ".psf.gz", just the font name below.

# To use the default console font, comment out the CONSOLEFONT setting below.

# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do

# not want to use it, run "rc-update del consolefont" as root).

CONSOLEFONT="lat2a-16"

# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use

# the default one.  Have a look in /usr/share/consoletrans for a selection of

# map files you can use.

CONSOLETRANSLATION="8859-2_to_uni"

```

```

res michasss # cat /etc/env.d/02locale

LANG="pl_PL"

LC_MESSAGES="en_US"

LC_CTYPE="pl_PL"

LC_TIME="pl_PL"

LC_MONETARY="pl_PL"

LC_COLLATE="pl_PL"

LC_NUMERIC="pl_PL"

LC_PAPER="pl_PL"

```

```

res env.d # cat /etc/env.d/99locale

LANG="pl_PL"

LC_MESSAGES="en_US"

```

```

res env.d # cat /etc/conf.d/keymaps

# /etc/conf.d/keymaps

# Use KEYMAP to specify the default console keymap.  There is a complete tree

# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="pl"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="no"

# The maps to load for extended keyboards.  Most users will leave this as is.

EXTENDED_KEYMAPS=""

#EXTENDED_KEYMAPS="backspace keypad euro"

# Tell dumpkeys(1) to interpret character action codes to be

# from the specified character set.

# This only matters if you set UNICODE="yes" in /etc/rc.conf.

# For a list of valid sets, run `dumpkeys --help`

DUMPKEYS_CHARSET="iso-8859-2"

```

No i nasze kochane EKG pokazuje krzaczki na literkach ąęńż, natomiast dobrze wyswietna pozostale polskie znaki ćłó, ale jakbym tutaj wrzucil komunikat z EKG to pokazalyby sie wszystkie polskie znaki poprawnie....weird. Poza tym jak wlaczam system to jest napisane cos takeigo

```

Setting terminal encoding to ASCII

```

Jak  wymusic iso-8859-2 ? Ma ktos jakis pomysl co jest nie tak ?

----------

## SlashBeast

do ekg zrób sobie skrypt albo alias, ja mam w .zshrc

```
alias screenekg="export LC_ALL='pl_PL' && screen -dmS ekg /usr/bin/ekg && export LC_ALL=pl_PL.UTF-8 && screen -r ekg"
```

----------

## wirus

 *Quote:*   

> res michasss # cat /etc/env.d/02locale
> 
> res env.d # cat /etc/env.d/99locale

 

po co 2 razy?

----------

## MiChaSSs

 *SlashBeast wrote:*   

> do ekg zrób sobie skrypt albo alias, ja mam w .zshrc
> 
> ```
> alias screenekg="export LC_ALL='pl_PL' && screen -dmS ekg /usr/bin/ekg && export LC_ALL=pl_PL.UTF-8 && screen -r ekg"
> ```
> ...

 

ja chcialbym miec nie tylko w ekg polskie znaki, lecz w calej konsoli  :Smile: 

 *wirus wrote:*   

>  *Quote:*   res michasss # cat /etc/env.d/02locale
> 
> res env.d # cat /etc/env.d/99locale 
> 
> po co 2 razy?

 

w how to bylo napisane zeby zrobic 02locale, natomiast w jakims watku na forum znalazlem zeby zrobic 99locale (chyba tylko ze wzgledu na to ze 99locale bedzie wykonywalo sie jako ostatnie z /etc/env.d/ i nic nie zmieni wartosci LANG itd.) ale mimo to nadal mam podczas wlaczania systemu "Setting terminal encoding to ASCII" zamiast iso-8859-2, jakies pomysly co moze byc nie tak ?

----------

## wirus

 *MiChaSSs wrote:*   

> 
> 
> ale mimo to nadal mam podczas wlaczania systemu "Setting terminal encoding to ASCII" zamiast iso-8859-2, jakies pomysly co moze byc nie tak ?

 

U mnie jest tak samo i PLiterki mam w konsoli jak i w ekg.

Nie chcesz ASCII zmien w /etc/rc,conf UNICODE="no" na yes

```
 $ cat /etc/env.d/02locale 

LC_ALL="pl_PL"

LANG="pl_PL"
```

```
$ cat /etc/conf.d/keymaps

KEYMAP="pl2"

SET_WINDOWKEYS="yes"

EXTENDED_KEYMAPS=""

#EXTENDED_KEYMAPS="backspace keypad euro"

DUMPKEYS_CHARSET=""
```

```
$ cat /etc/conf.d/consolefont 

# /etc/conf.d/consolefont

#CONSOLEFONT="lat2a-16"

CONSOLEFONT="ter-d20b"

CONSOLETRANSLATION="8859-2_to_uni"
```

```
$ cat /etc/rc.conf

UNICODE="no"
```

----------

## MiChaSSs

@wirus jak napisalem, zrezygnowalem z opcji unicode,  teraz chce miec system na iso-8859-2, wlasciwie to ustawienia mam bardzo podobne do Twoich, jakas znaczaca roznica jest tylko w consolefont, u Ciebie jest jakas niestandardowa  :Razz:  , czytalem ze lat2a-16 tez powinna dobrze wyswietlac polskie znaki, ale jakos nie chce ;/ nadal mam kwardaciki przy niektorych znakach ;/ a dodawales jakies pliki configuracyjne do katalogu domowego ?

----------

