I think this has to do with collations. The item_name column in the xxxx_cbsubs_payment_baskets table was in latin1-swedish_ci collation, I was able to convert it to utf_bin collation using
ALTER TABLE `xxxx_cbsubs_payment_baskets` MODIFY `item_name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL;
which preserved the existing data. But when I tried to purchase an item I had the same result in the front end of the website as before - initially the item name displayed correctly but when the payment method was chosen the question marks appeared instead of Japanese characters. But now when I look in the xxxx_cbsubs_payment_baskets table the item name is stored correctly! So the issue is also how the data is extracted from the database for display.
Some help on where this happens and how to fix will be appreciated.