Is UTF-8 the encoding of choice for QR-codes with non ASCII chars by now?
The specification says that ISO-8859-1 is the default for byte-mode encoding. However in practice, yes, you'll see a lot of Shift-JIS in Japan, or UTF-8.
UTF-8 is the right choice. To do it properly, you need to put some indication in the stream that it's UTF-8. The spec does allow for this. You need to precede the byte segment with an ECI segment that indicates UTF-8.
The zxing encoder will do that for you if you send it a hint that the encoding is UTF-8.