2010-04-27 18 views
5

Tengo una tabla con una columna varchar. Su intercalación está establecida en utf8_bin. Mi software que usa esta tabla y columna funciona perfectamente. Pero cuando miro el contenido en phpmyadmin, solo veo algunos valores hexadecimales o [Blob xB]. ¿Puedo hacer que phpmyadmin muestre el contenido correctamente?phpmyadmin muestra números o blob para las columnas de calculo utf8_bin de mysql?

Además, cuando configuro la intercalación en utf8_general_ci o utf8_unicode_ci, phpmyadmin muestra el contenido correctamente.

Thx Marc

[editar] Ja, descubrí, hay una "Opciones +" enlace pequeña por encima de cada mesa en phpmyadmin. Abre varias opciones, incluido "Mostrar contenido BLOB", que hace que [blob] sea legible cuando está habilitado y "Mostrar contenido binario como HEX", que muestra los códigos hexadecimales como texto cuando está desactivado.

Sin embargo, hay una idea de por qué hay dos opciones y por qué a veces hay un [Blob] y, a veces, valores hexadecimales.

Bien. Ahora todavía me pregunto: establecer estas opciones se pierde cuando voy a otra mesa. Tengo que configurarlos cada vez que voy allí. ¿Hay alguna manera de guardar esas opciones? [/ edit]

+1

Este parece ser el mismo espacio de pregunta/respuesta que http://stackoverflow.com/questions/2188264/viewing-content-of-blob-in-phpmyadmin? –

Respuesta

2

De hecho, puede. Pero necesitaría tener acceso a los archivos php phpMyAdmin. Si es así, vaya a /libraries/config.default.php

Luego busque $ cfg ['DisplayBinaryAsHex'] = true; y cambie el valor a "falso". (Debe ser alrededor de la línea 888)

Cheers,

Robin

+0

Ok, ignorando el "NO !! NO EDITAR !!" comentar en acsii art fuente grande al comienzo de ese archivo, en realidad funciona y no parece estropear las cosas :) Estaba buscando otra otpion en ese archivo para hacer que el "Mostrar contenido BLOB" también sea verdadero, pero no puedo encontrarlo ¿También sabes cómo habilitar eso? Gracias. – marc40000

7
  • NO editar este archivo, EDITAR config.inc.php VEZ !!!

Por lo tanto, para hacer esto de acuerdo con la documentación correcta del autor de PMA, edite config.inc.php. Agregue la línea: $ cfg ['DisplayBinaryAsHex'] = false;

a su archivo config.inc.php.

;-)

+0

¿Quieres decir 'config.default.php'? – Pacerier

2

Añade las siguientes líneas a su config.inc.php:

$_REQUEST['display_blob'] = true; 

que tienen las manchas siempre se expandió en la tabla de resultados, y

$cfg['ProtectBinary'] = false; 

para poder editar ellos.

Es posible que también desee echarle un vistazo al phpMyAdmin wiki.

ACTUALIZACIÓN

Eso fue suficiente en 3.2.4. En 3.2.5 con el fin de ver texto y no hexagonal cuando se edita una fila también tiene que hacer como Robin sugirió, agregue la entrada siguiente a la config:

$cfg['DisplayBinaryAsHex'] = false; 
+0

Configurando la variable $ _REQUEST obtuve blobs que aparecen por defecto para mí. ¡Gracias! – jwal

+0

¿Te refieres a 'config.default.php'? – Pacerier

4

Creo que la mejor solución es cambiar esta línea:

 
$cfg['Servers'][$i]['extension'] = 'mysql'; 

a esto:

 
$cfg['Servers'][$i]['extension'] = 'mysqli'; 

Si usted tiene la extensión mysqli disponibles, lo utilizan. Es más seguro, está un poco más optimizado y maneja el tipo BLOB de utf-8 mejor por defecto. Sus entradas [BLOB] deberían comenzar a aparecer como sus valores sin tener que agregar ninguna otra opción de configuración especial.

+1

Puedo confirmar que esto hace la diferencia. Después de probar un montón de otros cambios, al cambiar a mysqli las columnas utf8_bin comenzaron a mostrarse como texto regular nuevamente. – Costa

+1

Esto es lo que hizo el truco para mí, también. –

1

La sugerencia de cwd también soluciona otro problema.

que había tenido problemas con los que se muestran "&" como "&" en phpMyAdmin - cambiar a MySQLi hace que el problema desaparezca (por lo que "&" se muestra como "&").

Cuestiones relacionadas