There are three problems with your current code:
- "CEST" isn't a time zone Java recognized. Try Europe/Parisinstead, as a European time zone
- java.util.Calendaruses 0-based months (yes, it's awful)
- You haven't cleared out the time part of the Calendar, so it'll give you the current time of day, on that date
This works:
import java.util.*;
public class Test {
    public static void main(String[] args) throws Exception {
        TimeZone zone = TimeZone.getTimeZone("Europe/Paris");
        Calendar calendar = new GregorianCalendar(zone);
        // Month 8 = September in 0-based month numbering
        calendar.set(2014, 8, 5, 0, 0, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        System.out.println(calendar.getTimeInMillis());
    }
}
If you know the month in advance, you can use the constants instead:
calendar.set(2014, Calendar.SEPTEMBER, 5, 0, 0, 0);
If you can possibly move to using Joda Time or java.time from Java 8, however, those are much cleaner APIs.
For example, in Joda Time:
import org.joda.time.*;
class Test {
    public static void main(String[] args) {
        DateTimeZone zone = DateTimeZone.forID("Europe/Paris");
        // Look ma, a sensible month numbering system!
        LocalDate date = new LocalDate(2014, 9, 5);
        DateTime zoned = date.toDateTimeAtStartOfDay(zone);
        System.out.println(zoned.getMillis());
    }
}