diff --git a/ChangeLog b/ChangeLog index 75cf0430c8..5741cd135b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -106,6 +106,7 @@ phpMyAdmin - ChangeLog - issue #11421 Stored-proc / routine - broken parameter parsing - issue Missing name for configuration read_as_multibytes - issue #11431 Incorrect "No row selected" message +- issue #11447 MySQL 5.5 and the language system variable 4.4.14.0 (2015-08-20) - issue #11367 Export after search, missing WHERE clause diff --git a/libraries/DatabaseInterface.class.php b/libraries/DatabaseInterface.class.php index 9cb9d3b6e5..e9b1fa643b 100644 --- a/libraries/DatabaseInterface.class.php +++ b/libraries/DatabaseInterface.class.php @@ -292,45 +292,46 @@ class PMA_DatabaseInterface public function convertMessage($message) { // latin always last! + // @todo some values are missing, + // see https://mariadb.com/kb/en/mariadb/server-locale/ + $encodings = array( - 'japanese' => 'EUC-JP', //'ujis', - 'japanese-sjis' => 'Shift-JIS', //'sjis', - 'korean' => 'EUC-KR', //'euckr', - 'russian' => 'KOI8-R', //'koi8r', - 'ukrainian' => 'KOI8-U', //'koi8u', - 'greek' => 'ISO-8859-7', //'greek', - 'serbian' => 'CP1250', //'cp1250', - 'estonian' => 'ISO-8859-13', //'latin7', - 'slovak' => 'ISO-8859-2', //'latin2', - 'czech' => 'ISO-8859-2', //'latin2', - 'hungarian' => 'ISO-8859-2', //'latin2', - 'polish' => 'ISO-8859-2', //'latin2', - 'romanian' => 'ISO-8859-2', //'latin2', - 'spanish' => 'CP1252', //'latin1', - 'swedish' => 'CP1252', //'latin1', - 'italian' => 'CP1252', //'latin1', - 'norwegian-ny' => 'CP1252', //'latin1', - 'norwegian' => 'CP1252', //'latin1', - 'portuguese' => 'CP1252', //'latin1', - 'danish' => 'CP1252', //'latin1', - 'dutch' => 'CP1252', //'latin1', - 'english' => 'CP1252', //'latin1', - 'french' => 'CP1252', //'latin1', - 'german' => 'CP1252', //'latin1', + 'ja' => 'EUC-JP', //'ujis', + 'ko' => 'EUC-KR', //'euckr', + 'ru' => 'KOI8-R', //'koi8r', + 'uk' => 'KOI8-U', //'koi8u', + 'sr' => 'CP1250', //'cp1250', + 'et' => 'ISO-8859-13', //'latin7', + 'sk' => 'ISO-8859-2', //'latin2', + 'cz' => 'ISO-8859-2', //'latin2', + 'hu' => 'ISO-8859-2', //'latin2', + 'pl' => 'ISO-8859-2', //'latin2', + 'ro' => 'ISO-8859-2', //'latin2', + 'es' => 'CP1252', //'latin1', + 'sv' => 'CP1252', //'latin1', + 'it' => 'CP1252', //'latin1', + 'no' => 'CP1252', //'latin1', + 'pt' => 'CP1252', //'latin1', + 'da' => 'CP1252', //'latin1', + 'nl' => 'CP1252', //'latin1', + 'en' => 'CP1252', //'latin1', + 'fr' => 'CP1252', //'latin1', + 'de' => 'CP1252', //'latin1', ); $server_language = PMA_Util::cacheGet( 'server_language', function () { return $GLOBALS['dbi']->fetchValue( - "SELECT @@language;", 0, 1 + "SELECT @@lc_messages;", 0, 0 ); } ); + if ($server_language) { $found = array(); $match = preg_match( - '&(?:\\\|\\/)([^\\\\\/]*)(?:\\\|\\/)$&i', + '&([a-z][a-z])_&i', $server_language, $found ); diff --git a/libraries/dbi/DBIDummy.class.php b/libraries/dbi/DBIDummy.class.php index 21fd6fb9df..95407f6c1f 100644 --- a/libraries/dbi/DBIDummy.class.php +++ b/libraries/dbi/DBIDummy.class.php @@ -122,7 +122,7 @@ $GLOBALS['dummy_queries'] = array( ) ), array( - 'query' => 'SELECT @@language;', + 'query' => 'SELECT @@lc_messages;', 'result' => array(), ), array(