I have a fairly wide view (80 columns) which is the basis for a read-only grid control and 2 associated forms. It works fine on my WAMP (PHP 5.3.4) test environment, but fails on GoDaddy’s shared Linux host (PHP 5.3.14). Any ideas? It was working, but slowly, when I had a smaller table as the basis for the grid and form - when I switched to the larger view using a global data store, that’s when the problem started.
Further information:
When the code executes to create the JSON load for the dhtmlXDataStore, the php generates the correct JSON on WAMP, but when it executes on GoDaddy, it leaves out the first 3 records, putting just the comma record separators:
Otherwise the data is fine, the forms look right, everything else is good.
I was able to get the two records to show up by editing the included Rich Text field. There appear to be certain escape sequences which WAMP can handle but the shared Linux service cannot…But still the grid won’t populate.
With further investigation, it appears that the routine which is generating the JSON is having trouble dealing with html in a rich text field. Some of the characters are not being escaped properly.
The workaround may be to pull the rich text field out of the JSON and retrieve it separately.
The problem is more specific - while there may or may not be other escaping problems, the one that was holding me up is that the system was not dealing with extended characters, like é.
Here’s a reminder:
The higher-end characters have to be escaped. They are not being handled by the code when it runs on GoDaddy. This may relate to character set translation. When it’s all on the WAMP server, everything executes in the Windows native character set (UCS-2 or close to it).
Are you using Connectors or custom solution with json_encode at the end ?
I’m using a JSONDataConnector to load the dhtmlXDataStore.
I think problem can be caused by different page encodign.
JSON works with UTF-8 data by default, if you are storing UTF data in DB all goes fine, but if you are loading something like iso-8859-1 ( default latin encoding ) and using high-ascii chars in it - json encoder will break ( it will try to process such data as utf, and will break on high ascii )
Most probably you have utf-8 encoding for all pages in local WAMP, but iso-8859-1 on GoDaddy. It may be settings of page encoding, or collation of DB