Meaning: to have a gap between one’s front teeth, to have a diastema
Literal Translation: to have lucky teeth

Here’s an example of this expression being used in context:
Quand elle a souri, j’ai remarqué qu’elle avait les dents du bonheur. / Quand elle a souri, j’ai remarqué qu’elle avait les dents de la chance.
When she smiled, I noticed that she had a gap between her front teeth.
Note: the French idiom avoir les dents du bonheur isn’t at all insulting or offensive. In fact, you’ll often see it in the context of somebody with a tooth gap being attractive. As this article in Le Figaro explains, this expression is believed to have its origins in the Napoleonic Wars, when men with a gap between their front teeth were exempt from conscription into the army. At that time, soldiers had to use their teeth to open the gunpowder magazines of their rifles, something which was impossible for those with a diastema.
So, if a man had a gap between his front teeth, it meant he escaped almost certain death on the battlefield, and was therefore very lucky.
The expression avoir les dents du bonheur is just one of countless idioms in the French language. If you’re interested in learning more of these, then check out my recently published e-book (exclusive to Amazon Kindle) The Little Book of French Idioms. In this book, I introduce you to over 100 common French idioms, looking at their literal translations, their meanings, and examples of them being used on context.