Using QGIS 2.14.0, Windows 10, when I use 'Save As' to save a polygon shapefile as a Spatialite layer (all options left as default), all of the input integer fields are incorrectly output as text string fields. This sure seems like an error to me. I reviewed the Spatialite web site, but didn't see anything. Am I doing something wrong?
If you have null values in the integer fields the issue may be due to a GDAL bug https://trac.osgeo.org/gdal/ticket/6351 which is fixed but not included in released GDAL 1.11.x or 2.0.x versions. Read also https://trac.osgeo.org/gdal/ticket/6427 for further details.
If you do not have null values in your integer fields the problem must be somewhere else. In that case add a link to a small zipped shapefile which can be used for reproducing the error.