I think that most companies are going to assume that you are a competent programmer, and knowledgeable in desired fields.
You don't need to have taken any classes (though proper schooling certainly helps your credibility), as long as you have the requisite skills to do the job (and this is true for many fields of work). If you find an internship that meets your skill level in a specific language or discipline, I'm sure it'll work out.
Realize that companies will be more forgiving of interns, and part of the deal is that they'll teach you a thing or two, and give you some practical work experience - however, the other end of the deal is that you provide them with cheap, but useful, labor.
I would say that it's unfair to assume a company is going to teach you anything and everything you need to know to perform the job correctly; on the other hand, it is fair to assume that the company will give you basic training in their system so as you can do your job. Bottom line, you need to know something before you can get a job or internship.
I would recommend that you ask around, and see if anything fits. I would also recommend that you give the Programmer Competency Matrix a try, if you do decently, you should do fine at any entry-level job/internship.