The simple solution is to adjust the price depending on the exchange rate and to convert the BTC to the local currency as soon as it is received.
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 ?