Locale override

The external text representation of double-precision numbers in spatial data types follows the U.S. English locale (en_us.8859-1). In this standard, all text input must use dots ( . ) as decimal separators and must be single-byte ASCII, regardless of the locale. (Internally, the database server overrides the current locale with the U.S. English locale.)

For example, in many European locales, the decimal separator is a comma. You can keep using a non-English locale, but you must use dots in all text input, as follows:
ST_PointFromText('point zm (10.01 20.04 3.2 9.5)', 1)

This is true even if in your locale you normally use 3,2 instead of 3.2. External text always contains dots, regardless of the locale.