The price must be explicitly made clear to the customer before billing, and it's responsibility of the merchant to make sure that it happens.
For example, a somewhat common scenario for such chargebacks is seedy clubs charging $1000 per drink to tourists. The fact that they had that tourist drink in their menu doesn't change that it's both unreasonable and unexpected, and according to mastercard/visa agreements chargebacks may be possible.
In general, the credit card companies are motivated to protect cardholders, so their agreements with merchants sometimes put stricter conditions than local consumer right legislation - the merchant can either alter their behavior; or pay chargebacks; or not accept those creditcards.