Hi I'm sorry to hear about Charlie and for your son . It's not nice when you are acting responsibly and minding your own and this type of thing happens
My daughter had the same thing happen with one of my neighbours dogs it just attacked my girl and it frightened the life out of both of them . She is sixteen so not a child but felt awful she could not protect her dog .
We spoke with a local dog trainer and he suggested a couple of things that might help.
One was to always walk with a small can of pet corrector spray it gives my daughter more confidence and to be honest if she had one when the attack happened it could have just been enough to focus the other dog . The second thing was for a while always put yourself between anything at all and your dog while out walking so dogs bikes buggies etc . It will help build confidence back up again knowing he has a buffer . Third was that it's perfectly acceptable to ask other owners with dogs off lead to re call their dogs away from yours until you and Charlie feel ok .
Hope this helps but I'm sure more tips will come along some great people on here with lots of experience
Take care big kiss to Charlie