In a grid, how to display long column headers

When displaying data in a grid (each row contains a record, each column a different record field), vertical space need is easily solved with scrolling or paging.

We are usually sooner missing horizontal space as the number of columns or column data becomes large. This topic is already discussed here: How to display too much data and this is not the point of my question.

Some columns have data that occupy a little space (a check box, a date or an icon), but their header label is long. The result is that the column becomes wide because of the header, not the data, with an obvious loss of horizontal space.

There are some simple solutions:

  • find shorter header texts
  • wrap the header text into multiple lines
  • display the header text vertically
  • display an abbreviation with a mouse over tooltip containing the complete label
  • use an icon as a header

There are cases when none of these solutions can be applied, keeping a clear and easy to understand UI at the same time. What are your solutions?