Byte order mark
Jump to navigation
Jump to search
Byte order mark (BOM, 位元組順序記號)
How to see Byte order mark
MySQL way
Using MySQL HEX() function "returns a string representation of a hexadecimal value of a decimal or string value specified as an argument."
CREATE TABLE `articles` (
`id` varchar(50) NOT NULL,
`notes` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `articles` (`id`, `notes`) VALUES
('1234567890', 'no BOM'),
('1234567890', 'BOM');
ALTER TABLE `articles`
ADD UNIQUE KEY `id` (`id`) USING BTREE;
SELECT HEX(id), id, notes FROM articles;
| HEX(id) | id | notes |
|---|---|---|
| 31323334353637383930 | 1234567890 | no BOM |
| EFBBBF31323334353637383930 | 1234567890 | BOM |
File command way
Using file (command): file filename.txt on Linux , macOS
[1] & Cygwin on Win
| File content | Example result returned by file command |
|---|---|
| File contains BOM | UTF-8 Unicode (with BOM) text |
| File NOT contains BOM | UTF-8 Unicode text |