Firstly one must understand exactly how a memory card works. It stores blocks of binary information in 'clusters'.
In the original SD format it stores 4096 clusters with up to 512 blocks, each block containing 512 bytes of information. This gave a card capacity of 4096 x 512 x 512 = 1 Gigabyte. These cards typically came pre-formatted to the FAT-16 file system with the MBR partition scheme. This meant that any computer or host type device would recognise them through a card reader.
With the advent of high capacity cards the block capacity was increased from 512 bytes to 1024 and 2048 giving a capacity of 4096 x 2048 x 2048 = 32 Gigabytes, and these cards can only be formatted to the FAT-32 file system.
For this reason an SD card reader will not recognise the data stream from a SDHC card. The situation is being further complicated because there is now an XC (extended capacity) card on the market which has a capacity of 2 terabytes 2048 Gigabytes but this is at present being limited to 64 gigabytes by the SD 2.0 documentation.
If you wish to use an SDHC card you must have an SDHC card reader. The reader will access the information so the computer can handle it.
The first thing you must do when you purchase your SDHC card and SDHC card reader is to format the card to the FAT32 file system otherwise you will not get the rated capacity out of the card. Also, under no circumstance do a defragmentation on the card. All the clusters are equally accessible so there is no need and you will only wear the card out quicker.....remember these cards have a finite life and the more you re-write them the sooner they will wear out.
hope that helps