Saya menggunakan sistem Ubuntu (saya pikir). Saya tidak punya root, jadi saya tidak bisa mengubah lokal. Saya ingin membuat profil terminal default saya menggunakan UTF-8 secara default. Seharusnya ada cara untuk melakukan ini, baik di .gconf/apps/gnome-terminal/
direktori di suatu tempat, atau dalam variabel lingkungan, atau sesuatu. Namun, sepertinya saya tidak dapat menemukannya.
Edit dengan lebih detail:
Di terminal, saya punya:
grid-unv55$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal
Ketika mencoba lebih banyak dokumen UTF di terminal baru itu, saya mendapatkan:
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
Yang muncul di layar saya sebagai titik. (uffds adalah cut and paste. Saya meninggalkan "\ noise: bgspeech" di sana sehingga Anda dapat melihat bahwa ascii memotong dan menempel dengan benar)
~/.profile
- bukan~/.bashrc
, dan juga tidak~/.bash_profile
.Anda dapat mengatur lokal untuk
gnome-terminal
dengan perintah berikut ini di manaDefault
adalah nama profil.sumber
LANG=en_US.UTF-8
dalam.bashrc
dan restartAku punya masalah yang sama, dan ketika pengaturan
LANG
di.bash_profile
tidak melakukan trik, saya menemukan bahwa di Gnome, lokal default dapat diatur pada awal sesi dari layar GDM login. Ini dapat dilakukan tanpa akses root.sumber
Saya baru saja check-in
menu->terminal->set character encoding
utf-8Terminal dan bash bukanlah hal yang sama.
Saya akan mulai dengan melakukan
cat utf-8-file
(cat dan bash akan melewatkan file ini tidak berubah ke terminal, (sebenarnya sebenarnya untuk stty, stty akan mengubah baris baru ke pengembalian carrage, baris baru dll)) jika ini menampilkan file dengan benar maka terminal gnome-terminal diatur. (Sejauh ini adalah semua yang pernah saya lakukan, karena saya menggunakan utf-8 dalam bahasa Inggris; sudah diatur di Ubuntu 10.10 dan Debian 6 untuk saya). Jadi hanya mengatur bash dll.Membaca ulang ~ / .bashrc
Jika Anda mengedit,
~/.bashrc
Anda harus membacanya kembali. ~/.bashrc
(atau memulai shell baru) (jangan lupa titiknya)sumber
Saya punya masalah baru saja ketika saya memperbaikinya yang mungkin relevan untuk pendatang baru dengan versi GNOME yang lebih baru (dan gnome-terminal):
Untuk penyandian teks apa pun yang ingin Anda gunakan, shell (mis. Bash) dan terminal emulator (mis. Terminal gnome) harus menggunakan penyandian yang sama. Jadi misalnya jika shell menggunakan
en_US.utf8
dan terminal emulator menggunakanen_US.ISO-8859-1
(aliaslatin1
), maka Anda akan melihat teks aneh di terminal Anda untuk program apa pun dengan output UTF-8.Sekarang, saya tidak dapat mengatur penyandian saat masuk, seperti yang saya lihat disarankan untuk dilakukan. Ini mungkin disebabkan oleh fakta bahwa kami memiliki versi GDM yang lebih lama di sini. Inilah sebabnya saya membutuhkan solusi yang berbeda.
Bagaimanapun, GNOME 3 tampaknya tidak secara otomatis mencari
.bashrc
maupun.profile
saat login. Tapi itu memang sumber.gnomerc
, di mana Anda bisa meletakkan variabel lingkungan yang akan diekspor ke program GNOME (sejauh yang saya tahu).Menempatkan
export LANG="en_US.utf8"
di.gnomerc
sehingga mulai gnome-terminal menggunakan UTF-8 encoding secara default, ketika sebuah contoh baru dimulai. (Ubah lokal Anda sesuai dengan kebutuhan Anda.)Semoga ini bermanfaat bagi seseorang!
sumber
Seperti yang disebutkan oleh pengguna lain, beri tahu shell yang menggunakan enkode yang Anda gunakan
Masukkan ini dalam .bashrc dan gnome-terminal harus mengambilnya pada login selanjutnya.
Atur penyandian untuk gnome-terminal dengan cepat: Menu> Terminal> Setel Penyandian Karakter
Setel penyandian default secara permanen: gconf-editor> Aplikasi> gnome-terminal> Profil> Default> penyandian> utf-8
sumber
if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi