ZXing 二维条码解码:UTF-8 字符未正确解码

ZXing 2D barcode decoding: UTF-8 characters not decoded properly

我正在尝试使用 ZXing 读取二维条码,它大部分工作正常,除了它不能真正识别一些 UTF-8 字符,如 č 和 ć。我正在使用此代码设置编码:

MultiFormatReader reader = new MultiFormatReader();
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");  
reader.setHints(hints);
result = reader.decode(bitmap);

我是不是做错了什么?

编辑:我也试过为接收提示的解码调用重载,但结果是一样的。

看来我创建位图的方式有误。这有效:

MultiFormatReader reader = new MultiFormatReader();

FileInputStream fis = new FileInputStream(filePath);

BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(
    new BufferedImageLuminanceSource(
            ImageIO.read(fis))));

Result result = reader.decode(bitmap);

String originalText = result.getText();
byte[] bytes = originalText.getBytes("ISO-8859-1");
String outputText = new String(bytes, "UTF-8");