Column names in SharePoint lists, doesn’t changes internally while modifying. Rather it changes the name in view alone. (SQL table as list & views as user views). Whenever we access the list item value programmatically, the display name is used to refer the field.
SPList li=new SPList();
SPItem item =li.Items;
But in some cases like adding event receiver to the list the internal name o f the field name (Underlying name) is used. It can be found by right clicking the column name and noting the url.
The name might sometime look like Database_x0020_Name which need to be xml decoded at time of programming. Use xml decoding like this