Which one is correct and why?
I can speak (a language).
I know to speak (a language).
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.
Sign up to join this communityI can speak English (a language).
I know to speak English (a language).
Both the sentences are grammatical, but there's a difference in meaning.
The former means that you have the ability to speak English.
We don't commonly use the structure "know + to-infinitive". We usually use the pattern "know how + to-infinitive". So if you say "I know how to speak English", it means that you have the necessary knowledge to speak English. Hence, this sentence is very close in meaning to the first sentence "I can speak English"
As for the second sentence "I know to speak English", it's not ungrammatical. It conveys the sense that you know that you should speak English.
The first one is correct.
The second almost, it should be
I know how to speak (a language).
(at least when you want it to have the same meaning as the first sentence; 'I am able to speak (a language)').
A dictionary will tell you that can and know how to are, in some circumstances, synonymous. Especially when it comes to complex skills.
As you indicated in your comment, for languages, the following form can be used as well:
I know (a language)