An update: I tried to reproduce the issue with non-ASCII characters. However I haven't got any crashes. If the characters belong to the locale other than currently selected in the system they will be replaced with question marks. Can be reproduced with code like this:
http://support.esri.com/cn/knowledgebase/techarticles/detail/21106 Quite a nice feature to add to our wish list.
@Don, thanks for foxpro oledb driver suggestion. We could have tried to handle our expressions with some DBF driver. However it would hardly be viable for in-memory shapefiles (temporary write data to disk?), plus it's good to have our parser not-dependent on any external drivers which may or may not be present on the target machine. So if it comes to it, I'd rather extend the existing parser with additional functions.
table.StartEditingTable();
if (!table.EditCellValue(0, 0, "正体字")) MessageBox.Show("Failed to set new value");
if (!table.StopEditingTable()) MessageBox.Show("Failed to stop editing");
Debug.Print("The value is set: " + table.get_CellValue(0, 0).ToString());
I checked QGis and they have the same behavior. But ArcGIS it seems supports individual encoding for DBF files with UTF-8 as a default one:http://support.esri.com/cn/knowledgebase/techarticles/detail/21106 Quite a nice feature to add to our wish list.
@Don, thanks for foxpro oledb driver suggestion. We could have tried to handle our expressions with some DBF driver. However it would hardly be viable for in-memory shapefiles (temporary write data to disk?), plus it's good to have our parser not-dependent on any external drivers which may or may not be present on the target machine. So if it comes to it, I'd rather extend the existing parser with additional functions.