ID:2124748
 
BYOND Version:510
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 51.0.2704.106
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
json_encode processing cyrillic as weird "\xc4\xc0\xd0\xce\xc2\xc0", which brakes our JSON-based windows and makes impossible to use cyrillic symbols for input.


Numbered Steps to Reproduce Problem:
1)Open some input window which uses JSON for data gathering (like NanoUI)
2)Write down cyrillic symbols
3)Window hangs trying to update window, close and reopen

Expected Results:
Window with proper information
Actual Results:
Blank Page
The problem occur:
Every time.
In other user accounts.
On other computers.

When does the problem NOT occur?
Previous json procs which was implemented in the build code seems to process cyrillic symbols well.

Workarounds:
Code the JSON procs instead of native ones.
If you have an example project that shows this, I can take a look. The json_encode() and json_decode() procs should not hang. They are not however intended to be fully UTF-8 compliant, since DM's string format is not.
json procs not hang, they just process cyrillic symbols into weird form
https://github.com/ITBlackwood/ATMTA-Paradise/blob/master/ code/modules/nano/JSON%20Writer.dm
This JSON Writer processed russian word "privet" into "привет", which displays well in the Dream Seaker (as "privet")

Native json_encode turned "privet" into "\xc4\xc0\xd0\xce\xc2\xc0", which not going well in the DM
I'm not sure I follow which end is getting the Cyrillic input and how it's being output, or exactly what the characters are that produce that output. I need something I can reproduce here, if this is a bug at all.

Keep in mind, DM is not currently Unicode-friendly.