They are not two signs. They all represent the same character. In unicode \00a0 represent a unicode character whose codepoint value is 160 in decimal notation and 0xA0 in hex code.
So \u00a0 == & nbsp; == & #160; == & #xa0;
these all refer to the exact same character.
The & nbsp; is referred to as a named entity or named character ref. The others are numeric entities. In epub3 named entities are no longer allowed (except for xml reserved named entities).
So Sigil uses & #160; for epub3 and & nbsp; for epub2. Calibre should easily be able to handle either.
If you want Sigil to use another mapping in Codeview for non-breaking spaces, you need to change its Preserve Entities setting. Just do not use a named entity for it with epub3. Using no entity makes the non-breaking space undistinguishable from a regular space and can even cause problems in Codeview (actually a bug in Qt) which is why Sigil always tries to replace them with a proper entity.
Last edited by KevinH; 08-06-2017 at 12:36 PM.
|