The only cards that do not have foreign transaction fees and are widely accepted in Europe are the Capital One Credit Cards.
Just remember to call Capital One and notify them of your trip prior to leaving the country. This is so that they do not think that someone has stolen your credit card and will ensure that they will not decline your transactions while traveling abroad for fraud reasons.