This question already has an answer here:
I'm currently visiting Montreal. In almost every store or restaurant I go to, I'm greeted with "bonjour!" I know just a little French and I could probably get by with a simple transaction, but then I would be lost if anything more nuanced was required. So I usually respond with "hello" and continue in English. Is this OK or is it a faux pas? Would it be more appropriate to start off with "parlez-vous anglais", or is it assumed that most people are bilingual? What about Quebec City — is it more frowned upon there? I really don't want to exude the "arrogant American tourist" vibe!
Tried speaking French as much as possible, resorting to "je suis desolé, je ne parle pas très bien français" whenever I ran into a phrase I couldn't understand. Pretty much everyone I met spoke English to varying degrees, and nobody gave me a hard time. One person even complimented me on my French accent — apparently it was convincing! The only problem is that now I'm compelled to start speaking in French whenever I go into a restaurant in the US. :)