PhpMyAdmin cannot find the import plugins which start with uppercase 'I' and displays error "Could not load import plugins, please check your installation!" when Import tab clicked. The bug 4001 flagged fixed but still exists. Please re-open and fix.
System Config:
Arch Linux w/ Kernel 3.13.6-1-ARCH #1 SMP PREEMPT Fri Mar 7 22:47:48 CET 2014 x86_64 GNU/Linux
Apache Httpd 2.4.7-2
PHP 5.5.10-1
phpMyAdmin 4.1.9
Mostly the plugin names for Import start with uppercase 'I' only. Not able to reproduce with PHP 5.4.25 .
I'll try with your PHP version.
Cannot reproduce on a Linux server with PHP 5.5.7.
It still exist in version 4.11.1. Maybe it is a locale issue since my locale is tr_TR.UTF8. Maybe functions in PHP are sensetive to locale. Because I tried to change the 23rd line of libraries/display_import.inc.php. When I change it to a common letter in English and Turkish, it sucessfully changes the lower 'a' to upper 'A'. However when I select a letter which is not in English or represented different it cannot find its uppercase. I tried the letters ş,ç,ö.
There is a important point here. The Turkish 'i' is different from a English 'i'. In Turkish we use 'İ' for uppercase of 'i' not 'I'. Likewise we use 'ı' for lowercase of 'I'. I think PHP or phpMyAdmin is not aware of that. Maybe using mbstring's functions can solve the issue. Temporarily changing the 23rd line of libraries/display_import.inc.php to "Import" solves issue for me but it can cause problems in the future.
I'm adding the screen shots of my tests and configuration.
Hi,
does it work for you if you replace strtoupper() with mb_strtoupper() in libraries/plugin_interface.lib.php, function PMA_getPlugins() ?
Yes it is working when using mb_strtoupper. I also send 2nd parameter as "UTF-8" to guarantee the conversion. The final status of line is
$class_type = mb_strtoupper($plugin_type[0], "UTF-8") . mb_strtolower(substr($plugin_type, 1), "UTF-8");
Fixed with:
https://github.com/phpmyadmin/phpmyadmin/commit/d4c8bef2e60540ed8c03582cfdbee7813d994054