mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#29323 mysql client only accetps ANSI encoded files
Fix: ignore BOM marker in the first line.
This commit is contained in:
@ -1042,6 +1042,17 @@ static int read_and_execute(bool interactive)
|
||||
if (!interactive)
|
||||
{
|
||||
line=batch_readline(status.line_buff);
|
||||
/*
|
||||
Skip UTF8 Byte Order Marker (BOM) 0xEFBBBF.
|
||||
Editors like "notepad" put this marker in
|
||||
the very beginning of a text file when
|
||||
you save the file using "Unicode UTF-8" format.
|
||||
*/
|
||||
if (!line_number &&
|
||||
(uchar) line[0] == 0xEF &&
|
||||
(uchar) line[1] == 0xBB &&
|
||||
(uchar) line[2] == 0xBF)
|
||||
line+= 3;
|
||||
line_number++;
|
||||
if (!glob_buffer.length())
|
||||
status.query_start_line=line_number;
|
||||
|
@ -178,4 +178,6 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
|
||||
1
|
||||
1
|
||||
1
|
||||
This is a file starting with UTF8 BOM 0xEFBBBF
|
||||
This is a file starting with UTF8 BOM 0xEFBBBF
|
||||
End of 5.0 tests
|
||||
|
@ -281,4 +281,13 @@ remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
|
||||
#
|
||||
--exec $MYSQL test -e "/*! \C latin1 */ select 1;"
|
||||
|
||||
#
|
||||
# Bug#29323 mysql client only accetps ANSI encoded files
|
||||
#
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/bug29323.sql
|
||||
select "This is a file starting with UTF8 BOM 0xEFBBBF";
|
||||
EOF
|
||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29323.sql 2>&1
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug29323.sql;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user