[phpMyAdmin Developers] PhpMyAdmin locale bug
Gökhan Kaya
0x90kh4n at gmail.com
Sun Dec 16 09:32:30 CET 2018
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)) {
**
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.phpmyadmin.net/pipermail/developers/attachments/20181216/d64f5cc1/attachment.html>
More information about the Developers
mailing list