css – HTML: Prevent word-wrapping after some symbols or super-index

I need to avoid line breaks on special punctuators while html rules allow line breaks. I’m not worried about line breaking on whitespace, but on these cases:

a] Superscript “?”. Used in Spanish grammar to tell something is probably a-grammatical, or has a different meaning from expected:

”’Estoy en el ?candelabro.”’
will break on the ?

b] m-dash. In Spanish, m-dash is a parenthetical sign. It means it is spaced as quotes or parenthesis are: a pair of m-dashes around a text, with space outside and no space inside. Unicode breaking rules say, in their text form, that m-dash should be treated as non-breaking in these cases, but this rule stated in the textual description of line breaking rules is ignored in the actual algorithm.

So, how I can prevent line breaking on that situations? I have tried the “non-breaking zero space”, but it does not work.