Skimming the createtable source and a freshly installed, I see that ubbt_ONLINE.ONINE_AGENT is set to varchar(255).
That UA is 257 chars in length.
Within html.inc.php, the following line strips all html from the UA, and only uses the first 0 - 255 characters of it
$agent = substr(ubbchars(find_environmental("HTTP_USER_AGENT")), 0, 255);
It is 1am as I am replying, and this topic of dealing with multi-byte character sets (such as Chinese uses) is not fluent to me, but I must ask -- Are using a UTF-16 or a UTF-8 Unicode set for your database? With UTF-16, every char is encoded into 2 or more bytes than UTF-8.
Your 255 substr() would now have 257 chars. This could happen when a multi-byte character gets cut in half. I'm going to assume that the UA you posted, did include Chinese characters within it.
If this is the case, you may want replace the "substr" functions with "mb_substr" (there are two of them), and add the internal encoding (UTF-8) as exampled below:
$agent = mb_substr(ubbchars(find_environmental("HTTP_USER_AGENT")), 0, 255, "UTF-8");
Some further reading here
https://stackoverflow.com/questions/9087502/php-substr-function-with-utf-8-leaves-marks-at-the-endAnd here
https://www.php.net/manual/en/function.mb-substr.php