Which MySQL Datatype to use for storing Boolean values?

Since MySQL doesn't seem to have any 'boolean' datatype, which datatype do you 'abuse' for storing true/false information in MySQL? Especially in the context of writing and reading from/to a PHP-Script.
Over time I have used and seen several approaches:
  • tinyint, varchar fields containing the values 0/1,
  • varchar fields containing the strings '0'/'1' or 'true'/'false'
  • and finally enum Fields containing the two options 'true'/'false'.
None of the above seems optimal, I tend to prefer the tinyint 0/1 variant, since automatic type conversion in PHP gives me boolean values rather simply.
So which datatype do you use, is there a type designed for boolean values which I have overlooked? Do you see any advantages/disadvantages by using one type or another?

Answer:

For MySQL 5.0.3 and higher, you can use BIT. The manual says:
       As of MySQL 5.0.3, the BIT data type is used to store bit-field values. A type of BIT(M) enables storage of M-bit values. M can range from 1 to 64.
Otherwise, according to the MySQL manual you can use bool and boolean which are at the moment aliases of tinyint(1):
     Bool, Boolean: These types are synonyms for TINYINT(1). A value of zero is considered false. Non-zero values are considered true.
MySQL also states that:
     We intend to implement full boolean type handling, in accordance with standard SQL, in a future MySQL release.
Funny isn't it, this link, posted a few years back, has become recursive.

http://stackoverflow.com/questions/289727/which-mysql-datatype-to-use-for-storing-boolean-values