Verwendung geschützter Leerzeichen in Readings Value

Begonnen von Loredo, 27 November 2016, 11:39:51

Vorheriges Thema - Nächstes Thema

Loredo

Hi,


sobald ich in einem Reading ein geschütztes Leerzeichen mittels chr(0x202F) verwende, stürzt FHEM kurze Zeit später mit dieser Meldung ab:




Wide character in syswrite at FHEM/TcpServerUtils.pm line 269.



Ich vermute das passiert beim schreiben von ./FHEM/fhem.save. Ist diese Funktion nicht UTF8 fest? Ich hadere beim Thema Codierung immer(noch) und weiß daher nicht genau, wo ich für einen Patch hinfassen müsste.




Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Es muss wohl eher im Bereich FHEMWEB liegen:




2016.11.27 12:07:21.017 5: Triggering WH (84 changes)
2016.11.27 12:07:21.017 5: Starting notify loop for WH, first event wind_speed_mph: 0.0
2016.11.27 12:07:21.038 4: name: /weatherstation/updateweatherstation.php?outhumiabsf=3.8&indoorhumidity=39&realtime=1&light=4583.9&windchill=6.3&windspeedbft=0&windgustfts=0.0&indewpoint=7.7&windspeedkn=0.0&rtfreq=5&yearlyrainin=46.9&absbaromin=28.2&absbarommm=7.2&indoortempf=72.1&windspdmph=0.0&monthlyrainin=3.5&tempf=43.3&baromin=29.7&windspeedkn_avg2m=0.0&relbaro=1004.1&windspeedmps=0.0&outtemp=6.3&barommm=7.5&inhumiabs=7.7&rainin=0.0&windgustmph=0.0&dewpoint=2.9&rainrate=0.0&UVI=0&winddir=303&windspeed_avg2m=0.0&yearlyrain=1190.7&windgustkn=0.0&windgustbft=0&windgustmps=0.0&windspeedmps_avg2m=0.0&dailyrainin=0.0&action=updateraw&ID=IBAYERNM70&dateutc=2016%2d11%2d27%2011%3a7%3a20&monthlyrain=90.0&windchillf=43.3&weeklyrainin=0.0&intemp=22.3&windgust_10m=4.0&windgustmph_10m=2.5&outhumiabs=5.8&outhumi=79&windcompasspoint=WNW&windspeedbft_avg2m=0&windgust=0.0&PASSWORD=&indoorhumidityabsf=83.6&weeklyrain=0.9&windspdmph_avg2m=0.0&dailyrain=0.9&absbaro=956.4&dewptf=37.2&winddir_avg2m=316&indoordewpointf=51.6&inhumi=39&windcompasspoint_avg2m=NW&solarradiation=36.2&softwaretype=HP1000%20V2%2e2%2e2&UV=82&humidity=79&windspeed=0.0& / RL:7 / text/plain; charset=utf-8 /  /
2016.11.27 12:07:21.038 4: Syswrite: Wide character in syswrite at fhem.pl line 691.
, deleting WEB_127.0.0.1_63184
2016.11.27 12:07:26.042 4: Connection accepted from WEB_127.0.0.1_63189



Wenn ich bei meinem Modul noch dediziert ein "use utf8;" einbaue, dann stürzt FHEM nicht mehr ab. Aber die Meldung bleibt trotzdem im Log.
Außerdem werden UTF8 Character dann in der Raumansicht nicht mehr richtig dargestellt, nur in der Detailansicht (siehe Screenshots).
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rudolfkoenig

FHEM-Intern duerfen keine Wide-Characters verwendet werden, alle Module muessen dafuer sorgen, dass intern nur UTF-8 verwendet wird.

Loredo

Danke, Rudi für den Denkanstoß. Nachdem ich an einigen Stellen encode_utf8() ergänzt hatte, geht es jetzt auch.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER