being generated in P tags by browser

Solution:1

Firstly,   entities are space characters, not hyphens. Secondly, the CSS is not generating those, it is WordPress that generates extra markup. This may be a result of the WYSIWYG editor, or the theme itself, but it is impossible to know based on your question.

You can use the following code to prevent WordPress from creating extra markup:

remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');

But, the problem is also likely with a related plugin. Try disabling all plugins and see if the problem still arises.

Solution:2

This non-  character is actually  , which Chrome and Safari will render as  , but display as " " from within the inspector edit feature, the source code, and the WYSIWYG editor.

The full explanation is from Remy Lebeau where he goes through the HEX code. Going back through the code and simply retyping everything to use the traditional space fixed the issue.