diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 9be33b0d..0dc2a8fa 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -1129,7 +1129,7 @@ function dump_headers($identifier, $multi_table = false) { */ function dump_csv($row) { foreach ($row as $key => $val) { - if (preg_match("~[\"\n,;\t]~", $val) || $val === "") { + if (preg_match('~["\n,;\t]|^0|\.\d*0$~', $val) || $val === "") { $row[$key] = '"' . str_replace('"', '""', $val) . '"'; } } diff --git a/changes.txt b/changes.txt index b9241bc8..e14a02f8 100644 --- a/changes.txt +++ b/changes.txt @@ -2,6 +2,7 @@ Adminer 4.7.9-dev: Fix XSS in browsers which don't encode URL parameters (bug #775, regression from 4.7.0) Elasticsearch, ClickHouse: Do not print response if HTTP code is not 200 Don't syntax highlight during IME composition (bug #747) +Quote values with leading and trailing zeroes in CSV export (bug #777) MySQL: Do not export names in quotes with sql_mode='ANSI_QUOTES' (bug #749) MySQL: Avoid error in PHP 8 when connecting to socket (PR #409) MySQL: Don't quote default value of text fields (bug #779)