UTF-8 and BOM: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
Line 2: Line 2:
With the ''Database Activity'' there still seems to be a problem importing UTF-8 files with BOM (http://en.wikipedia.org/wiki/Byte-order_mark).
With the ''Database Activity'' there still seems to be a problem importing UTF-8 files with BOM (http://en.wikipedia.org/wiki/Byte-order_mark).


* See this forum discussion for an example in Hebrew
* See this forum discussion for an [http://moodle.org/mod/forum/discuss.php?d=62251#p559428 example in Hebrew]
http://moodle.org/mod/forum/discuss.php?d=62251#p559428
* See also this [http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&&query=bom&summary=true&description=true&body=true&sorter/field=updated&sorter/order=DESC tracker issues]
* See also this tracker issues:
http://tracker.moodle.org/secure/IssueNavigator.jspa?reset=true&&query=bom&summary=true&description=true&body=true&sorter/field=updated&sorter/order=DESC


--[[User:Frank Ralf|Frank Ralf]] 10:36, 13 July 2009 (UTC)
--[[User:Frank Ralf|Frank Ralf]] 10:36, 13 July 2009 (UTC)

Revision as of 13:28, 28 September 2010

Database Activity

With the Database Activity there still seems to be a problem importing UTF-8 files with BOM (http://en.wikipedia.org/wiki/Byte-order_mark).

--Frank Ralf 10:36, 13 July 2009 (UTC)

What does BOM mean?

What is it good for?

It is used for multibyte characters to mark the order in which the bytes appear.

What's the problem with the BOM?

  • See Display problems caused by the UTF-8 BOM
  • Some text editors add a BOM by default, for example Windows' Notepad.
  • When exporting from OpenOffice Calc the BOM sneaks in even after the first delimiter!

How can I detect a BOM?

You will need a text editor which is capable of showing special Unicode characters. A good Unicode text editor for Windows is SC UniPad.

Calc-export BOM.png

The picture shows an exported CSV file from OpenOffice Calc where the BOM (#FEFF) sneaks in even after the first delimiter!

Scanning Moodle folder for BOM files

If Moodle is installed on a linux server you can try one of these command lines:

find . -type f -print0 | xargs -0r awk '/^\xEF\xBB\xBF/ {print FILENAME}{nextfile}'
fgrep -rl `echo -ne '\xef\xbb\xbf'`

find & remove!

find . -type f -exec sed 's/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;

How can I get rid of the BOM?

Any of the above mentioned Unicode capable text editors will allow you to remove a BOM, some even automatically when opening or saving a file.

Some other text editors will save files without BOM, e.g. Notepad++.

See also