title: <f:convertNumber/> does not recognize correct input for german currency
body: <p>I'm setting up an input field for currency in my jsf web app and have a backing bean to write the value to. However the converter <code>&lt;f:convertNumber/&gt;</code> doesn't seem to recognize correct input if entered by the user. The initial value can be submitted and numbers can be changed but typing in a value like
  <strong>1,00 €</strong>
  won't work. I would like to keep the formatter and also understand how to fix this problem.</p>
  
  <blockquote>
    <p>I am using <code>JSF 2.3.5-SP2 (Mojarra)</code> with <code>Wildfly 14.0.1</code> and <code>Java 10.0.1</code></p>
  </blockquote>
  
  <p>I narrowed it down to the space between the number and the currency symbol but I don't know how to make <code>&lt;f:convertNumber/&gt;</code> recognize a simple space as a correct input.</p>
  
  <blockquote>
    <p>After doing a little inspection the original space was identified as a non-breaking space <code>&amp;nbsp;</code></p>
  </blockquote>
  
  <p>This is my test code:</p>
  
  <p>test.xhtml</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;h:body&gt;
      &lt;h:form&gt;
          &lt;h:inputText value="#{testModel.number}"&gt;
              &lt;f:convertNumber type="currency" locale="de_DE" currencyCode="EUR"/&gt;
          &lt;/h:inputText&gt;
          &lt;h:commandButton value="Submit" action="#{testModel.submit}"/&gt;
          &lt;h:messages style = "color:red;margin:8px;" /&gt;
      &lt;/h:form&gt;
      &lt;h:outputText value="#{testModel.number}"/&gt;
  &lt;/h:body&gt;
  </code></pre>
  
  <p>TestModel.java</p>
  
  <pre class="lang-java prettyprint-override"><code>@Named
  @RequestScoped
  public class TestModel {
      private BigDecimal number;
  
      public String submit(){
          return "#";
      }
  
      public BigDecimal getNumber() {
          if(number==null)number = new BigDecimal("0");
          return number;
      }
  
      public void setNumber(BigDecimal number) {
          this.number = number;
      }
  }
  </code></pre>
  
  <p>When changing the number to 1,00 € by only ereasing the <strong>0</strong> of <strong>0</strong>,00 € and replacing it with a 1 I get the correct output.<br>
  <a href="https://i.stack.imgur.com/GL3c7.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GL3c7.png" alt="image of correct output"></a></p>
  
  <p>When I replace the <code>&amp;nbsp;</code>(non-breaking) space between the number and the '€' symbol with a simple space the messsage shows the following warning:</p>
  
  <p>j_idt3:j_idt4: '0,00 €' konnte nicht als Währungswert interpretiert werden.<br>
  meaning <strong>'0,00 €' couldn't be interpreted as a currency value.</strong><br>
  <a href="https://i.stack.imgur.com/Bri9D.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Bri9D.png" alt="image of wrong recognition"></a></p>