When joining two files (A.csv and B.shp with a common unique ID) in QGIS the new fields in B.shp (from A.txt) include the name of the field + the name of the file where it comes from (A). For example if we import the field "gender" it will appear in b.shp as A_gender not gender only. Now, the problem comes when the field name es very long because when you save the new joined file (B + A) as a .shp, because it only allows field names with a maximum of 10 characters, the field name is truncated. Any solutions?
You can edit how the field names are displayed via the Alias widget. I made Layer A and Layer B (joined to Layer A) both containing a Gender field.
And you're right about the new shapefile having a limit of 10 characters in its field names.
To get around this:
Layer Properties > Fields and input what you want the field to be called in the Alias box.
I simply retyped the original name but you can call it whatever you want.
Hope this helps!