Util.class.php
line 1656 : return strftime($date, $timestamp);
this line will not return a utf-8 string on my win8 os , but on my linux(centos 6.5) is correct.
So everytime we got false by json_encode() in Response.class.php
My Env :
OS : Win8.1 Traditional Chinese version
PHP: 5.5.7
I also wrote this bug details in my blog
http://www.pigo.idv.tw/archives/2466
This bug still exists in version 4.1.3.
I think this bug exists in any non-English Windows OS.
I use date( ... ) replace strftime(...) now , this should work for me.
But when I use date(...) , this method will not return a localisedDate :p
Which webserver software is running on your Windows machine—IIS, Apache or Lighttpd?
Apache and php in fastcgi mode
I am not sure whether this is a bug at phpmyadmin level.
I am sure this is phpmyadmin bug. We can not use strftime to localize string , because the none-english Winodws OS may use other charset not utf-8 , in my os , it will return big5 string , so the browser can't decode the json string.
please look
http://php.net/manual/en/function.strftime.php
Not all conversion specifiers may be supported by your C library, in which case they will not be supported by PHP's strftime(). Additionally, not all platforms support negative timestamps, so your date range may be limited to no earlier than the Unix epoch. This means that %e, %T, %R and, %D (and possibly others) - as well as dates prior to Jan 1, 1970 - will not work on Windows, some Linux distributions, and a few other operating systems. For Windows systems, a complete overview of supported conversion specifiers can be found at » MSDN.
I have a simple way to repair it.
I'm afraid this would be too restrictive since phpMyAdmin works fine on Windows 8.1 English version.
Can you try the attached patch and see whether it fixes the bug?
Dear Madhura Jayaratne ~
Thank q very much , this patch fixed the bug. ^^
Fixed with https://github.com/phpmyadmin/phpmyadmin/commit/0f3840138f970f7ff23ce2ff46a9cd3ee2625826