मैं उबंटू 12.04 हूं और स्वचालित अपडेट के बाद इसने सिस्टम डिफॉल्ट एन्कोडिंग फॉर्म UTF-8 को बदलकर "ANSI_X3.476868" कर दिया। मुझे एहसास हुआ कि जब ग्रहण में मेरी कोड टिप्पणी अजीब पात्रों के साथ दिखाई दी, और यह महसूस करने के बाद कि आईडीई निर्दोष था, मैंने जांच के लिए एक टर्मिनल खोला है। जब मैं एक टर्मिनल विंडो में लैटिन वर्ण टाइप करता हूं, जैसे कि çãèéèê ..., तो इसके बजाय एक प्रश्न चिह्न दिखाई देता है। वही मैं एक पाठ फ़ाइल 'बिल्ली' है। GUI द्वारा उबंटू लोकेल सेटिंग बदलने से अकाउंट-डेमॉन क्रैश हो जाता है:
ExecutablePath: /usr/bin/gnome-language-selector
ProcCmdline: /usr/bin/python /usr/bin/gnome-language-selector
...
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking message, timeout)
DBusException: org.freedesktop.Accounts.Error.Failed: running '/usr/share/language-tools/save-to-pam-env' failed: no output
मैंने तब डिबग लाइन जोड़ने के लिए सेव-टू-पाम-एनवी को बदल दिया है और एक टर्मिनल में लैंग-चयनकर्ता को निष्पादित किया है:
gag@desktop~> /usr/bin/python /usr/bin/gnome-language-selector
(gnome-language-selector:17733): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "pt_BR"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
...same message a dozen times...
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py:858: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
self._localeinfo.translate(loc, native=True) == defaultLangName):
//the line below is my debug 'print'
exec: /usr/share/language-tools/save-to-pam-env /home/likewise-open/CERTI/gag pt_BR.UTF-8
इसलिए, इस कमांड को हाथ से चलाएं:
gag@desktop~> /usr/share/language-tools/save-to-pam-env /home/likewise-open/CERTI/gag pt_BR.UTF-8
pt_BR.UTF-8
gag@ccd-7840~> locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
gag@desktop~> cat .pam_environment
LANGUAGE=en
LANG=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
यह सब ठीक लगता है, लेकिन पीसी को पुनरारंभ करना और लॉग-इन बैक चीजें अभी भी समान हैं। सीएलआई द्वारा मैं देख सकता हूं कि स्थान ठीक से स्थापित हैं:
gag@desktop~> locale -a | grep pt
pt_BR.utf8
pt_PT.utf8
gag@desktop~> locale -m | grep UTF
UTF-8
मैंने भी कोशिश की है:
sudo apt-get install language-pack-pt language-pack-pt-base
sudo apt-get install --reinstall locales
जिसका कोई असर न हो। जब मैं दूसरे खाते से लॉगिन करता हूं तो एन्कोडिंग ठीक है। विचार?