Pretty sure ‘charver’ is Romani in origin and means something along the lines of prostitute.
There are a lot of Romani origin words that have slipped into common usage (at least regionally).
Chav is probably somehow connected to that but there have always been the ‘council house and violent’ etc justifications for it.
Either way, as far as I’m concerned, it’s a nasty word used to demonise the working class. Its usage became prominent once class discourse moved from OG stratas (upper/middle/working) and added ‘lower class’ or ‘underclass’ and thus carries with it all the inherent prejudice associated with those terms.
Very similar to the associations around Gopnik in slavic culture.
Just had a look around - here’s another Romani-origin word: Chavie - a member of a youth subculture (from cha = “child”)
Mush - colloquial meaning a man, a bloke, from Romani mush meaning man.