[phpMyAdmin Developers] PhpMyAdmin locale bug

Gökhan Kaya <[email protected]> Sun, 16 Dec 2018 11:32:30 +0300
Newsgroups gmane.comp.php.phpmyadmin.devel
Message-ID <CAHayYo0MXuzJ1ZBP0Wvp4scHi0XX9dKGMQ4CqN9etjzqdzed3g@mail.gmail.com>
Hi,
The definition of locale in linux is tr_TR.utf-8, and character converters
such as strtolower and strtoupper are defeated in php. example: strtolower
('Innodb') does not return us as innodb. solution setlocale(LC_CTYPE, 'C')
with local information should be changed or functions such as mb_strtolower
should be used.

for this reason phpmyadmin bug is occurring. Because the Innodb engine is
not installed correctly, it generates an undefined method error and the
user does not understand that the error is not displayed.

**

<?php
echo setlocale(LC_CTYPE, '');
// Output: tr_TR.utf-8
// bug:
echo strtolower('Innodb');
// output: Innodb

**

https://github.com/phpmyadmin/phpmyadmin/blob/master/libraries/classes/Operations.php

line 1282: $innodbEnginePlugin = StorageEngine::getEngine('Innodb');
line 1283: $innodbPluginVersion =
$innodbEnginePlugin->getInnodbPluginVersion();

https://github.com/phpmyadmin/phpmyadmin/blob/master/libraries/classes/StorageEngine.php


line 195: switch (strtolower($engine)) {

**

_______________________________________________
Developers mailing list
[email protected]
https://lists.phpmyadmin.net/mailman/listinfo/developers