如何使用Zxing项目在QR码中使用UTF-8编码字符?

Zxing Project是一个着名的开源,多格式1D / 2D条码image processing库,用Java实现,具有其他语言的端口。 但我相信有人像我一样有同样的问题:我无法在Qrcode中编码UTF-8字符。

如何使用Zxing项目在QR码中使用UTF-8编码字符?

这样做的正确方法是使用提示:

Hashtable hints = new Hashtable(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); 

然后在QRCodeWriter类中调用此版本的encode

  encode(String contents, BarcodeFormat format, int width, int height,Hashtable hints) 

史密斯先生的回答是对的。 但不知何故,在使用ZXing编码时,您需要使用小写的utf-8而不是大写的UTF-8 。 或者某些扫描仪如支付宝无法读取。

 Hashtable hints = new Hashtable(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8");