Invoices Charset

This project has been completed

Type

Bug Report

Status

Completed

Created By

Staff

Category

General, Billing Extension


One of the most useful pages in Billing Extension is Invoices that provides more than 30 columns and filtering options in one place. To achieve this result we combine information from several WHMCS tables and also custom ones of our module. Sometimes some of our customers encounter the following fatal error when they try to open this page.

Syntax error or access violation: 1253 COLLATION 'utf8_general_ci' is not valid

The reason is that our complex query can't perform specific function across columns with different charsets. Even though we take the appropriate measures to prevent the error, sometimes it is inevitable. We could fix the issue by splitting our single query in multiple ones but it would cause decrease in performance.

The core of the issue is that in past WHMCS was using a different charset in many tables. When WHMCS moved to utf8, the charset of many tables has been left unchanged. In Billing Extension we do use utf8 charset same as WHMCS but when the module is installed on systems with outdated charset, the query on this page can't run properly.

Of course we have a very simple script that can fix the issue for our customers but we're going to include it directly in Billing Extension so that it can automatically detect and fix charset. In the meantime we underline that the error doesn't cause any issue to WHMCS and invoicing.

Your tips

Sign up or Log in to post a comment.