问答详情
源自:6-2 使用zxing生成二维码

为什么我用中文不行啊,明明写了UTF-8

package com.xiaoqi.zxing;


import java.io.File;

import java.nio.file.Path;

import java.util.HashMap;


import com.google.zxing.BarcodeFormat;

import com.google.zxing.EncodeHintType;

import com.google.zxing.MultiFormatWriter;

import com.google.zxing.client.j2se.MatrixToImageWriter;

import com.google.zxing.common.BitMatrix;

import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;


public class CreatQRCode {

public static void main(String[] args) {

int width = 300;

int height = 300;

String format = "png";

String content = "爱";

HashMap hints = new HashMap();

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

hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);

hints.put(EncodeHintType.MARGIN, "2");

try {

BitMatrix bitMatrix=new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height);

Path file = new File("D:/code/img.png").toPath();

MatrixToImageWriter.writeToPath(bitMatrix, format, file);

} catch (Exception e) {

e.printStackTrace();

}

}

}


提问者:晓丶柒 2017-09-28 10:35

个回答

  • 慕工程4299265
    2017-10-04 20:27:19

    楼上正解

  • 拥有一积分的用户
    2017-10-04 17:28:46

    BitMatrix bitMatrix=new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height);

    少了个参数

    BitMatrix bitMatrix=new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);