# Problema charset KDE

## GuN_jAcK

Salve ragazzi,

dopo l'aggiornamento di KDE 4.6.2 mi è venuto a galla un problema veramente fastidioso che mi impedisce di usare molti programmi!

Tutti i caratteri accentati li vedo correttamente dentro KDE, ad eccezione dell'apostrofo che ogni volta che è presente mi mette un quadratino prima di esso. Ovviamente tutti i programmi che vanno ad interagire con il filesystem ed incappano con una cartella che ha l'apostrofo vanno inevitabilmente in crash. Dunque ho pensato che fosse un problema legato durante la fase di mount, ma ho scoperto ben presto che il problema appare anche nel pannello di controllo di KDE (ma ad esempio nel titolo delle finestre si vede tutto corretamente!!!).

Ho controllato che il sistema fosse in unicode, ho ricompilato tutto il sistema, fatto un check della localizzazione e ricompilato le glibc.. ma niente di niente ...  :Sad: 

Qualcuno può aiutarmi?

```

Portage 2.1.9.42 (default/linux/x86/10.0/desktop, gcc-4.4.5, libc-0-r0, 2.6.37-gentoo-r4 i686)

=================================================================

System uname: Linux-2.6.37-gentoo-r4-i686-Intel-R-_Core-TM-2_Quad_CPU_Q9300_@_2.50GHz-with-gentoo-2.0.2

Timestamp of tree: Sat, 28 May 2011 09:15:01 +0000

app-shells/bash:     4.1_p9

dev-java/java-config: 2.1.11-r3

dev-lang/python:     2.7.1-r1, 3.1.3-r1

dev-util/cmake:      2.8.4-r1

sys-apps/baselayout: 2.0.2

sys-apps/openrc:     0.8.2-r1

sys-apps/sandbox:    2.4

sys-devel/autoconf:  2.13, 2.65-r1

sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       4.4.5

sys-devel/gcc-config: 1.4.1-r1

sys-devel/libtool:   2.2.10

sys-devel/make:      3.81-r2

sys-kernel/linux-headers: 2.6.36.1

sys-libs/glibc:      2.12.2

virtual/os-headers:  0

ACCEPT_KEYWORDS="x86"

ACCEPT_LICENSE="*"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS=""

GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ "

LANG="it_IT.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="it"

MAKEOPTS="-j4"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X a52 aac acl acpi alsa berkdb branding bzip2 cairo cdr cli consolekit cracklib crypt cxx dbus dri dts dvd dvdr emboss encode ffmpeg firefox flac font-server fortran gdbm gdu gif gpm iconv ipod java jbig jpeg jpeg2k kde lame lcms libnotify mad mng modules mp3 mp4 mpeg mudflap musicbrainz mysql ncurses networkmanager nls nptl nptlonly ntp ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt qt3support qt4 quicktime readline samba sdl semantic-desktop session spell sql ssl startup-notification svg sysfs tcpd theora tiff truetype udev unicode usb vorbis win32codecs x264 x86 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

----------

## pierino_89

Ti consiglio caldamente di passare alla 4.6.3, la .2 ha un sacco di magagne strane.

----------

## GuN_jAcK

ho notato che per la 4.6.3 devi smascherare troppi pacchetti... Dici che sia l'unica soluzione?   :Smile: 

----------

## pierino_89

Beh, io uso l'overlay di kde, quindi per smascherare mi basta includere il file offerto.

Non so se sia l'unica soluzione, ma probabilmente è la più rapida.

----------

## ago

 *GuN_jAcK wrote:*   

> ho notato che per la 4.6.3 devi smascherare troppi pacchetti... Dici che sia l'unica soluzione?  

 

```
autounmask =kde-base/kdebase-meta-4.6.3
```

----------

## GuN_jAcK

allora proverò a passare alla 4.6.3... anche perché sono 3 giorni fermo e la cosa si sta facendo abbastanza imbarazzante!

Vi farò sapere come è andata. Per ora grazie  :Smile: 

----------

## GuN_jAcK

niente....  :Sad:  il problema persiste   :Sad: 

----------

## cloc3

 *ago wrote:*   

> 
> 
> ```
> autounmask =kde-base/kdebase-meta-4.6.3
> ```
> ...

 

se devo smascherare tutta kde, autounmask mi prende un sacco di tempo.

io spesso uso una cosa di questo tipo:

```

# for i in $(find /usr/portage/kde-base -maxdepth 1 -type d  |cut -d/ -f5);do echo kde-base/$i;done >/etc/portage/package.keywords/kde-base

```

(da usarsi con attenzione, magari facendo prima un backup di /etc/portage/package.keywords/kde-base)

poi ripeto per kde-misc.

----------

## GuN_jAcK

fatto sta che pur passando di versione la cosa non cambia  :Sad: 

----------

## pierino_89

Che locale stai usando?

----------

## GuN_jAcK

 *Quote:*   

> 
> 
> $ locale
> 
> LANG=it_IT.UTF-8
> ...

 

----------

## pierino_89

Io ho:

```
# locale

LANG=it_IT.utf8

LC_CTYPE=it_IT.utf8

LC_NUMERIC=it_IT.utf8

LC_TIME=it_IT.utf8

LC_COLLATE=C

LC_MONETARY=it_IT.utf8

LC_MESSAGES=it_IT.utf8

LC_PAPER=it_IT.utf8

LC_NAME=it_IT.utf8

LC_ADDRESS=it_IT.utf8

LC_TELEPHONE=it_IT.utf8

LC_MEASUREMENT=it_IT.utf8

LC_IDENTIFICATION=it_IT.utf8

LC_ALL=
```

poiché ho

```
# locale -a | grep 8

en_US.iso88591

en_US.utf8

it_IT.iso88591

it_IT.iso885915@euro

it_IT.utf8

```

Assicurati quindi che il locale che hai definito sia esistente.

----------

## GuN_jAcK

io ho messo:

```

it_IT.UTF-8 UTF-8

it_IT UTF-8

it_IT@euro ISO-8859-15

it_IT ISO-8859-15

```

ovviamente fatto partire il comando locale-gen e ricompilato le glibc

----------

## pierino_89

E pure io, ma controlla col comando che ho dato io, non è detto che i locales vengano chiamati come li hai definiti.

----------

## GuN_jAcK

```
$ locale -a | grep 8 

it_IT.iso885915

it_IT.iso885915@euro

it_IT.utf8

```

----------

## pierino_89

 *GuN_jAcK wrote:*   

> 
> 
> ```
> 
> it_IT.utf8
> ...

 

Ecco, appunto.

Quindi devi definire il tuo locale come "it_IT.utf8" invece che come "it_IT.UTF-8", altrimenti punti a un locale inesistente.

----------

## GuN_jAcK

se lo modifico come dici te (dentro /etc/locale.gen), quando lancio il comando il locale-gen mi dice che non esiste e mi da errore... :\

nel file locale è riportata una lista

/usr/share/i18n/SUPPORTED

e le uniche localizzazioni italiane sono: 

```

$ cat /usr/share/i18n/SUPPORTED | grep it_*

it_IT.UTF-8 UTF-8

it_IT ISO-8859-1

it_IT@euro ISO-8859-15

```

o devo farlo altrove?

----------

## pierino_89

Non in locale.gen! In /etc/env.d/02locale

----------

## GuN_jAcK

 *Quote:*   

> cat /etc/env.d/02locale 
> 
> LANG="it_IT.utf8"
> 
> LC_COLLATE="C"
> ...

 

L'ho sostituito sotto tuo consiglio, ho riavviato e il risultato non cambia.. scordo qualcosa?

grazie per la tua disponibilità e pazienza  :Smile: 

----------

## pierino_89

Puoi fare uno screenshot? Voglio capire bene.

----------

## GuN_jAcK

Qui l'accento si vede male

http://imageshack.us/photo/my-images/84/schermata1ro.png/

ma tutti i tipi di accento si vedono benissimo

http://imageshack.us/photo/my-images/12/schermata2n.png/

----------

## pierino_89

Mi è sembrato di capire che capiti solo con le applicazioni Qt. Hai già ricompilato tutti i vari moduli, sip e compagnia bella?

----------

## GuN_jAcK

ho ricompilato tutto il sistema...  se hai in mente un'idea concreta di compilare un pacchetto ben preciso dimmelo che ci provo.. anche perché questa situazione sta diventando frustrante :\

----------

## pierino_89

A sto punto più che lanciare da terminale e vedere gli errori non mi viene in mente molto... Magari con strace...

----------

## djinnZ

```
en_US ISO-8859-1

en_US.UTF-8 UTF-8

it_IT ISO-8859-1

it_IT.UTF-8 UTF-8

it_IT@euro ISO-8859-15
```

Non so perché ma ci vogliono sia it che en (e nel dubbio toglierei quelli che non servono).

A futura memoria.

Hai provato a reinstallare i font e le loro librerie dopo aver corretto locale.gen?

Se ho capito bene sostieni che il problema si presenta dall'upgrade, hai usato l'unmask dell'overlay od hai fatto tu a manina?

Mi auguro per il tuo bene che il collision protect fosse abilitato, ci sono problemi proprio nella localizzazione.

----------

## GuN_jAcK

provo a mettere la localizzazione anche in Inglese e ti faccio sapere  :Smile: 

Comunque il problema è uscito dopo l'upgrade...

Penso di procedere in tal maniera:

 1. Metto la localizzazione anche in inglese;

 2. ricompilo le glibc;

 3. ricompilo tutti i pacchetti installati

P.s non uso overlay ma pacchetti del portage.

Grazie per il continuo supporto ragazzi  :Smile: 

----------

## djinnZ

 *GuN_jAcK wrote:*   

> Penso di procedere in tal maniera:
> 
>  1. Metto la localizzazione anche in inglese;
> 
>  2. ricompilo le glibc;
> ...

   :Shocked:  mi sa che il caldo inizia a fare brutti scherzi ...

ricompilare libc per aggiungere una locale?

Il file con gli unmask dell'overlay puoi anche usarlo con i pacchetti nel portage stabile basta che aggiungi quel sigolo file od il suo contenuto in /etc/portage non usare l'intero everlay. Dai almeno uno sguardo per vedere se non hai dimenticato qualcosa.

----------

## GuN_jAcK

Chiaro, sinceramente ho letto e riletto qualsiasi cosa che sia attinente alla localizzazione ma sinceramente non vedo errori....

```

File: /etc/locale.gen

it_IT.UTF-8 UTF-8

it_IT ISO-8859-1

it_IT@euro ISO-8859-15

en_US ISO-8859-1

en_US.UTF-8 UTF-8

```

```

File: /etc/env.d/02locale

LANG="it_IT.utf8"

LC_COLLATE="C"

LC_CTYPE="it_IT.utf8"

```

ho provato con la riga LC_CTYPE="it_IT.utf8" e anche senza.

ho provato cambiare da it_IT.UTF-8 UTF-8 a it_IT.utf8

```

$locale -a

C

POSIX

en_US

en_US.iso88591

en_US.utf8

it_IT

it_IT.iso88591

it_IT.iso885915@euro

it_IT.utf8

it_IT@euro

italian

```

Infine ricompilato tutto il sistema....

niente...  :Sad: 

----------

## GuN_jAcK

scusate l'up ma è frustrante questo problema :\

----------

## pierino_89

Come ti dicevo, hai controllato l'output delle applicazioni di kde?

----------

## GuN_jAcK

avviando dolphin da console gli errori che da sono i seguenti:

```

"/usr/bin/dolphin(14680)" Soprano: "org.freedesktop.DBus.Error.ServiceUnknown - The name org.kde.nepomuk.services.nepomukstorage was not provided by any .service files"

QObject: Cannot create children for a parent that is in a different thread.

(Parent is Soprano::Client::LocalSocketClient(0x9041934), parent's thread is QThread(0x8e1e078), current thread is KLoadFileMetaDataThread(0x907d6a0)

"/usr/bin/dolphin(14680)" Soprano: "QLocalSocket::connectToServer: Invalid name"

"/usr/bin/dolphin(14680)" Soprano: "org.freedesktop.DBus.Error.ServiceUnknown - The name org.kde.nepomuk.services.nepomukstorage was not provided by any .service files"

"/usr/bin/dolphin(14680)" Soprano: "Unsupported operation (2)": "Invalid model"

"/usr/bin/dolphin(14680)" Soprano: "org.freedesktop.DBus.Error.ServiceUnknown - The name org.kde.nepomuk.services.nepomukstorage was not provided by any .service files"

"/usr/bin/dolphin(14680)" Soprano: "Unsupported operation (2)": "Invalid model"

"/usr/bin/dolphin(14680)" Soprano: "Unsupported operation (2)": "Invalid model"

"/usr/bin/dolphin(14680)" Soprano: "Invalid iterator."

```

Nepomuk l'ho disabilitato dalle impostazioni di sistema ma gli errori sono sempre  i soliti...

c'è un'altro modo per aumentare il verbose? ho provato a diggare ma questo è il massimo che sono riuscito a fare.

----------

## pierino_89

prova dolphin --sync --nofork

prova anche a lanciarlo dandogli vari LC_ALL come variabili d'ambiente.

----------

## GuN_jAcK

ho provato a lanciarlo con LC_ALL con le varie localizzazioni ma il problema persiste (provato anche quella americana x sicurezza).. ma durante l'avvio di dolphin mi segnala altri errori:

```

"/usr/bin/dolphin(3691)" Soprano: "QLocalSocket::connectToServer: Invalid name"

"/usr/bin/dolphin(3691)" Soprano: "org.freedesktop.DBus.Error.ServiceUnknown - The name org.kde.nepomuk.services.nepomukstorage was not provided by any .service files"

```

può essere un indizio?

----------

## pierino_89

prova a far scrivere qualche messaggio a kdialog:

kdialog --msgbox qualcosa

Vediamo se riproducendo lì l'errore dice qualcosa.

----------

## GuN_jAcK

niente, tra l'altro ho provato a scrivere un messaggio con l'apostrofo e li me lo vede bene...

----------

## GuN_jAcK

Ragazzi a questo punto penso di provare a piallare tutto KDE, pulirlo da tutti i vari file di configurazione e reinstallarlo che ne dite? credo che sia ormai l'unica cosa che mi viene in mente... 

Sapete la miglior soluzione come pulire il sistema da tutte le dipendenze KDE includendo i file di conf?

Io pensavo di fare o:

1. un emerge -C kdebase-meta e poi dare un depclean.

2. lista di dipendenze con equery

Accetto consigli

----------

## pierino_89

Guarda, sta per arrivare la 4.6.4, a sto punto prima di piallare proverei a vedere se cambia qualcosa.

Nel mentre puoi provare a creare un altro utente e vedere se si pone lo stesso problema, almeno capiamo se è qualche configurazione spanata.

----------

## GuN_jAcK

già fatto, è stata la prima cosa a cui ho pensato di fare un nuovo utente con la home spianata dalle configurazioni.

In teoria quando dovrebbe uscire la nuova ver?

----------

## pierino_89

Credo sia questione di giorni, sarà una settimana che gli ebuild sono sull'overlay, però non ci sono ancora i distfiles.

----------

## GuN_jAcK

scusami l'ennesima domanda... ma tra qualche giorno sarà sull'overlay o su portage?

Preferisco prendere i pacchetti sempre dal portage

----------

## pierino_89

Gli ebuild non lo so quando saranno su portage, so che però li preparano sull'overlay sempre qualche giorno prima della release ufficiale.

Probabilmente quando ci sarà la release ufficiale appariranno anche in portage.

----------

