# obsługa polskich znaków w systemach plików

## 8siem

Witam ponownie.

Moim kolejnym (z kilkoma się jakoś sam uporałem) problemem z gentoo są polskie znaki w systemach plików (ext4, fat).

Jak nietrudno się domyślić w nazwach plików nie wyświetla tego co powinien tylko znaki zapytania nie mówiąc już o tym że aplikacje nie zawsze chcą otwierać takie pliki. 

```
locale

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=pl_PL.utf8@euro

LC_CTYPE=pl_PL.utf8

LC_NUMERIC="pl_PL.utf8@euro"

LC_TIME="pl_PL.utf8@euro"

LC_COLLATE=C

LC_MONETARY="pl_PL.utf8@euro"

LC_MESSAGES="pl_PL.utf8@euro"

LC_PAPER="pl_PL.utf8@euro"

LC_NAME="pl_PL.utf8@euro"

LC_ADDRESS="pl_PL.utf8@euro"

LC_TELEPHONE="pl_PL.utf8@euro"

LC_MEASUREMENT="pl_PL.utf8@euro"

LC_IDENTIFICATION="pl_PL.utf8@euro"

LC_ALL=

```

nie mam pojęcia jak to w ogóle ruszyć. z góry dzięki za wszelką pomoc.

----------

## tytanick

z tymi localami w gentoo to zawsze była masakra, ale kolega soban wywalczyl jakie powinny być prawidłowe opcje i w rezultacie locale powinny wyglądac tak:

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="pl_PL.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=pl_PL.UTF-8

http://i40.tinypic.com/23tapc.jpg

tutaj masz skrypt sobana - jak zrobic w gentoo poprawne znaczki polskie ( u mnie działa  :Smile: 

http://www.soban.pl/utf8.tar.gz

nie sadze ze ext4 ma cos do gadania, jedynie 

co do fata, to sprawdz kodowanie w jaju jakei masz ustawione:

File systems  --->  DOS/FAT/NT Filesystems  --->

----------

## Pryka

tytanick ustawienia sobana są dobre owszem, ale nie jedyny i słuszne. Poza tym soban walczył z kodowaniem w konsoli z tego co wiem, a nie z tym

U mnie locale wygląda tak i też jest dobrze.

```
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=C

LC_MONETARY="pl_PL.UTF-8"

LC_MESSAGES="pl_PL.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=
```

----------

## Garrappachc

Ja bym celował z zła konfigurację jądra. Masz skompilowane wsparcie dla kodowania UTF-8 i ISO-8859-2?

----------

## 8siem

po małych zmianach w plikach konfiguracyjnych wzorując się na configu soban'a na ext4 już jest wszystko ok.

na fat sytuacja zmieniła się o tyle że nie mam samych znaków zapytania tylko różne inne krzaczki zamiast polskich znaków. 

W kernelu obsługa kodowań jest skompilowana. Co do kodowania systemu plików fat mam w jednym jajku ustawione iso8859-2 w drugim iso8859-1 i zachowuje się tak samo. powinienem tu zmienić na utf?

----------

## fanthom

jesli caly system masz na UTF to sproboj zamontowas partycje FAT z palca:

```
mount -t vfat /dev/smthg /mnt/smthg -o iocharset=utf8
```

i zobacz czy zadziala. Jesli masz na ISO-8859-2 to wstaw: iso8859-2 jako charset.

pozdro

----------

## soban_

Może się przydać - https://forums.gentoo.org/viewtopic-p-6061546.html#6061546

Bardzo ważnym elementem jest poprawny wpis w fstab (/etc/fstab) np:

 *Quote:*   

> /dev/sda1               /mnt/C          ntfs-3g         user,locale=pl_PL.UTF-8         0 0

 

Analogicznie można zrobić z innymi rodzajami partycji.

 *8siem wrote:*   

> W kernelu obsługa kodowań jest skompilowana. Co do kodowania systemu plików fat mam w jednym jajku ustawione iso8859-2 w drugim iso8859-1 i zachowuje się tak samo. powinienem tu zmienić na utf?

 

Nie musisz, ale możesz - w utf-8 o ile dobrze pamietam znajduje się całe iso8859-1/2 (jeśli się mylę to niech ktoś mnie poprawi ;-)).

@Pryka - najwięcej walczyłem z polskimi znakami w man, gdzie razem z Tytanickiem udało się to ustawić poprawnie.

----------

## fanthom

 *soban_ wrote:*   

> Bardzo ważnym elementem jest poprawny wpis w fstab (/etc/fstab) np:
> 
>  *Quote:*   /dev/sda1               /mnt/C          ntfs-3g         user,locale=pl_PL.UTF-8         0 0 
> 
> 

 

Niezupelnie:  ntfs-3g od wersji ktorejs tam (ja mam 2010.3.6) domyslnie ustawia kodowanie na utf-8 - ktore jest wspolne dla wszystkich jezykow. obojetnie co tam wstawisz (testowalem z ru_RU.utf8) to i tak wyswietli polskie znaczki. mozesz takze zostawic puste: 'locale='. 

pozdrawiam

----------

## soban_

No to zaszły zmiany, kiedy konfigurowałem ostatni raz ntfs-3g w fstabie (to było z rok temu) to wpis takowy musiał być - bo były znaki zapytania zamiast polskich znaków, no ale przynajmniej człowiek czegoś nowego się dowie. Jednak do tej pory ntfs-3g działa mi, z polskimi znakami z takim wpisem w fstabie.

----------

