From 553225e1be27f2c58c0995decc10651566add78f Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 24 Aug 2012 04:31:58 -0400
Subject: [PATCH] Fix setting locales under Solaris - use additional .UTF-8 suffix (#1488628)

---
 CHANGELOG                  |    1 +
 program/include/rcmail.php |   10 ++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index d529169..b8664b9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix setting locales under Solaris - use additional .UTF-8 suffix (#1488628)
 - Fix email address validation for addresses with IP address in domain part
 - Fix Larry skin issues in IE7 compat. mode (#1488618)
 - Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index d866919..336e9ca 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -157,14 +157,16 @@
       $this->config->set_user_prefs((array)$this->user->get_prefs());
     }
 
-    $_SESSION['language'] = $this->user->language = $this->language_prop($this->config->get('language', $_SESSION['language']));
+    $lang = $this->language_prop($this->config->get('language', $_SESSION['language']));
+    $_SESSION['language'] = $this->user->language = $lang;
 
     // set localization
-    setlocale(LC_ALL, $_SESSION['language'] . '.utf8', 'en_US.utf8');
+    setlocale(LC_ALL, $lang . '.utf8', $lang . '.UTF-8', 'en_US.utf8', 'en_US.UTF-8');
 
     // workaround for http://bugs.php.net/bug.php?id=18556
-    if (in_array($_SESSION['language'], array('tr_TR', 'ku', 'az_AZ')))
-      setlocale(LC_CTYPE, 'en_US' . '.utf8');
+    if (in_array($lang, array('tr_TR', 'ku', 'az_AZ'))) {
+      setlocale(LC_CTYPE, 'en_US.utf8', 'en_US.UTF-8');
+    }
   }
 
 

--
Gitblit v1.9.1