Carica un locale da / usr / local / share / locale in OS X

1

Durante l'importazione di un database PostgreSQL in OS X 10.10, ho ricevuto un errore come "nome locale non valido: en_US.utf8". Sono passato a /usr/share/locale e ho copiato la cartella en_US.UTF-8 come en_US.utf8 . Ok, problema risolto.

Ma so che questa soluzione non funzionerà su OS X 10.11 a causa di quella "modalità senza radici". Non potrò modificare /usr/share/locale .

C'è un modo per caricare questa cartella da /usr/local/share/locale ? Ho provato a copiare en_US.utf8 in quella directory e non ha funzionato.

    
posta Jan K. S. 20.09.2015 - 01:10
fonte

1 risposta

1

La mia soluzione ora è semplicemente sostituire la stringa "en_US.utf8" con "en_US.UTF-8" nel file di dump. Dato che quel file è compresso nel mio caso (quindi in formato binario), era necessario mantenere lo stesso numero di caratteri nella linea originale. Quindi rimuovo un paio di spazi bianchi, trasformando

(...) LC_COLLATE = 'en_US.utf8' LC_CTYPE = 'en_US.utf8' (...)

in

(...) LC_COLLATE= 'en_US.UTF-8' LC_CTYPE= 'en_US.UTF-8' (...)

Un comando perl per farlo nel mio script di importazione era

perl -pi -e "s/LC_COLLATE = 'en_US.utf8'/LC_COLLATE= 'en_US.UTF-8'/g" myDumpFilePath
perl -pi -e "s/LC_CTYPE = 'en_US.utf8'/LC_CTYPE= 'en_US.UTF-8'/g" myDumpFilePath
    
risposta data 09.10.2015 - 15:58
fonte

Leggi altre domande sui tag