The specification states that ISO-8859-1 is the default for byte encoding. However, in practice, yes, you will see a lot of Shift-JIS in Japan or UTF-8.
UTF-8 is the right choice. To do this correctly, you need to indicate in the stream that it is UTF-8. The specification really allows this. Before the byte segment , you need an ECI segment that indicates UTF-8.
The zxing encoder will do this for you if you send him a hint that the encoding is UTF-8.
source share