Hello,

I was puzzled by the behaviour of org.geotools.data.geojson.GeoJSONReader when 
I was using it to read a feature collection containing non-ascii strings. It 
complains that the JSON string contains invalid UTF-8 data.


Due to client mandate I need to develop on a Windows 11 machine. The default 
platform encoding is windows-1252 (for archeological reasons, I guess), not 
UTF8. I noticed that GeoJSONReader uses plain String.getBytes() to read the 
JSON data 
(https://github.com/geotools/geotools/blob/f416fcc3763b2db020c54a9323601fbdd49388e7/modules/unsupported/geojson-core/src/main/java/org/geotools/data/geojson/GeoJSONReader.java#L179).


When I change the JVM charset encoding (which needs to be done at startup) 
using -Dfile.encoding="UTF-8" my code works, but I rather not have to do this. 
I am not an expert on JSON but I recall the spec mandates that JSON data is 
encoded in UTF-8. So I believe that the above linked line should do 
jsonString.getBytes(StandardCharsets.UTF_8) (and in all other locations where 
JSON data is read).

Apparently Java is slated to go UTF-8 by default in the future, but until then 
we need to deal with this mess I guess.

[Havochvatten]
Tobias Gerdin
Systemutvecklare, Konsult
Enheten för systemutveckling

Gullbergs Strandgata 15, 411 04 Göteborg
Box 11930, SE-404 39 Göteborg
tobias.ger...@havochvatten.se
www.havochvatten.se<https://www.havochvatten.se/>
[Havochvatten]
Havs- och vattenmyndigheten behandlar dina personuppgifter i enlighet med 
dataskyddsförordningen och myndighetens dataskyddspolicy, läs mer på 
www.havochvatten.se/sa-behandlar-hav-dina-personuppgifter<https://www.havochvatten.se/sa-behandlar-hav-dina-personuppgifter>
SwAM processes your personal data in accordance with the General Data 
Protection Regulation (GDPR) and our Data Protection Policy, see 
www.havochvatten.se/sa-behandlar-hav-dina-personuppgifter<https://www.havochvatten.se/sa-behandlar-hav-dina-personuppgifter>
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to