The ultimate solution is for the customer to pay in local currency through a service that automatically converts and sends the amount in bitcoins, and then the merchant receives the bitcoins, which are automatically converted back to their local currency. This is Bitcoin's "killer app".
People have forgotten that Bitcoin is a payment system (with its own currency) because their perspectives are clouded by greed.
Im not sure it is best approach, the fees associated with exchange must be killer. Consider if you would do the same if you had online shop with USD prices, but tried to convert it right away to your local currency and paying exchange fees. Wouldnt be better for example pay hosting with USD directly as well as other expences ?
Exchange fees are cheap. You could do it yourself on Bitstamp for 0.2% or let Coinbase handle it for 1%. Even at 1%, Coinbase is much cheaper than credit card fees.