character-encoding - latin1_swedish_ci - default character set utf8
Caracteres no leídos en las fuentes PhpMyAdmin (3)
Instalo PMA 4.0.7 en Ubuntu 12:
wget http://www.sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.7/phpMyAdmin-4.0.7-all-languages.tar.bz2
tar -jxf phpMyAdmin-4.0.7-all-languages.tar.bz2
Pero no puede abrirlo en el navegador, Chrome muestra una página en blanco ... con un error en la consola:
Uncaught SyntaxError: Unexpected token ILLEGAL get_scripts.js.php:13876
CodeMirror.defineMIME("text/x-mysql", "mysql");
;
� // <- unreadible character goes there
¿Alguien puede ayudarme?
¡Gracias!
Deshabilite / elimine / corrija la configuración de la extensión Tidy HTML PHP.
Tengo un VM dev-box ejecutando CentOS 6.6 y encontré este problema mientras trabajaba en la instalación y configuración de x-debug. Mientras estaba instalando la extensión xdebug, vi Tidy HTML y pensé que sería una excelente manera de hacer que mi HTML generado sea más limpio y más fácil de leer.
Todo fue muy bien hasta unos días después cuando intenté acceder a phpMyAdmin y fui recibido con una página en blanco y 5 mensajes de error de Token inesperado en Chrome. Después de mucha investigación, ajustes de configuración, reinstalación de phpMyAdmin e intento de agregar encabezados Content-Length como sugirió Jeremy Miller, finalmente decidí restablecer toda la configuración del servidor.
Primero revertí mi configuración de phpMyAdmin, luego mi configuración de Apache. Sin suerte. Luego eliminé todas mis extensiones de PHP. De repente, recibí un mensaje de error en lugar de una página en blanco. ¡Progreso! Añadí de nuevo en las extensiones necesarias para phpMyAdmin: mbstring.ini, json.ini y mysqli.ini y se mostró el inicio de sesión de phpMyAdmin.
Mediante un minucioso proceso de eliminación que se vio obstaculizado por mis débiles habilidades con Linux, descubrí que la extensión Tidy HTML estaba causando el problema.
Espero que esto ayude a cualquier otra persona que impulsivamente instale extensiones sin pensar.
No pude reproducir tu problema en Chrome. Intente descargar nuevamente, tal vez el archivo .tar.gz.
También tuve este problema. Resulta que el archivo se envía como HTTP 1.1 que, b / c no tiene un encabezado Content-Length, sale como codificación fragmentada. Los caracteres adicionales se deben al trozo incompleto. Modifiqué el archivo get_scripts.js.php a esto y ahora funciona para mí:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Concatenates reveral js files to reduce the number of
* http requests sent to the server
*
* @package PhpMyAdmin
*/
chdir(''..'');
// Send correct type
header(''Content-Type: text/javascript; charset=UTF-8'');
// Enable browser cache for 1 hour
header(''Expires: '' . gmdate(''D, d M Y H:i:s'', time() + 3600) . '' GMT'');
if (! empty($_GET[''scripts'']) && is_array($_GET[''scripts''])) {
$total_length = 0;
foreach ($_GET[''scripts''] as $script) {
// Sanitise filename
$script_name = ''js'';
$path = explode("/", $script);
foreach ($path as $index => $filename) {
if (! preg_match("@^/.+$@", $filename)
&& preg_match("@^[/w/.-]+$@", $filename)
) {
// Disallow "." and ".." alone
// Allow alphanumeric, "." and "-" chars only
$script_name .= DIRECTORY_SEPARATOR . $filename;
}
}
// Count file size
if (preg_match("@/.js$@", $script_name) && is_readable($script_name)) {
$total_length += filesize($script_name) + 3;
}
}
header(''Content-Length: ''.$total_length);
foreach ($_GET[''scripts''] as $script) {
// Sanitise filename
$script_name = ''js'';
$path = explode("/", $script);
foreach ($path as $index => $filename) {
if (! preg_match("@^/.+$@", $filename)
&& preg_match("@^[/w/.-]+$@", $filename)
) {
// Disallow "." and ".." alone
// Allow alphanumeric, "." and "-" chars only
$script_name .= DIRECTORY_SEPARATOR . $filename;
}
}
// Output file contents
if (preg_match("@/.js$@", $script_name) && is_readable($script_name)) {
readfile($script_name);
echo ";/n/n";
}
}
}
?>