bug #2974067 non-binary fields shown as hex

This commit is contained in:
Marc Delisle
2010-04-23 14:07:03 -04:00
3 changed files with 15 additions and 3 deletions

View File

@@ -96,6 +96,7 @@ $Id$
designer, thanks to Sutharshan Balachandren.
- bug #2983062, patch #2989408 [engines] Fix warnings when changing table
engine to Maria, thanks to Madhura Jayaratne.
- bug #2974067 [display] non-binary fields shown as hex
3.3.2.0 (2010-04-13)
- patch #2969449 [core] Name for MERGE engine varies depending on the

View File

@@ -2600,8 +2600,19 @@ function PMA_printable_bit_value($value, $length) {
}
/**
* Converts a BIT type default value
* for example, b'010' becomes 010
* Verifies whether the value contains a non-printable character
*
* @uses preg_match()
* @param string $value
* @return boolean
*/
function PMA_contains_nonprintable_ascii($value) {
return preg_match('@[^[:print:]]@', $value);
}
/**
* Converts a BIT type default value
* for example, b'010' becomes 010
*
* @uses strtr()
* @param string $bit_default_value

View File

@@ -1378,7 +1378,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
if ($_SESSION['tmp_user_values']['display_binary']) {
// user asked to see the real contents of BINARY
// fields
if ($_SESSION['tmp_user_values']['display_binary_as_hex']) {
if ($_SESSION['tmp_user_values']['display_binary_as_hex'] && PMA_contains_nonprintable_ascii($row[$i])) {
$row[$i] = bin2hex($row[$i]);
}
else {