Likely the questioner has moved on in frustration after 2 years, but I've just been banging my head against the same problem for the past day: pytesseract was misinterpreting slashed zeros in a new font I was trying to train on, even in the image I trained it on.
This solution worked for me, though I've no idea what it means or why it works:
https://groups.google.com/g/tesseract-ocr/c/FE2YDm67-gU
If you don't want to immerse yourself in learning all about OCR training, I recommend the JTessBoxEditor GUI, available on Windows to make box files for your images, edit the boxes, then train for the new font. You can put the NewFont.traineddata file thus created into C:\Program Files\Tesseract-OCR\tessdata then use it in python with
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
path_to_image = # put image file path here
image = cv2.imread(path_to_image)
string = pytesseract.image_to_data(image, config="-l NewFont")
To implement the slashed zero fix discussed in https://groups.google.com/g/tesseract-ocr/c/FE2YDm67-gU for JTessBoxEditor, add this line to the end of the config file ..\jTessBoxEditor\tesseract-ocr\tessdata\configs\box.train
edges_use_new_outline_complexity T