View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000807 | XMB1 | New Features | public | 2025-07-05 23:11 | 2025-07-15 14:26 |
Reporter | miqrogroove | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | confirmed | Resolution | open | ||
Target Version | 1.12.00 | ||||
Summary | 0000807: UTF-8 Schema | ||||
Description | The diverse string formats in the schema are one of the last things still driving me crazy in terms of maintaining this code base. This is the path forward: Convert all "double-slashed" strings to unslashed strings, no exceptions. Start brainstorming tools and procedures for conversion to UTF-8 encoding. If helpful, add schema columns that would aid the encoding conversion. Update page headers and templates with the new charset. Start addressing PHP charset use and any security implications. Create new translation files. Determine if non UTF-8 encodings will be supported or dropped completely. | ||||
Additional Information | https://docs.xmbforum2.com/index.php?title=XMB_1.9.12_Schema_String_Audit Also note the bbrulestxt setting is still saved as raw HTML. | ||||
Tags | No tags attached. | ||||
MySQL Version | |||||
PHP Version | |||||
Web Server | |||||
Browser | |||||
Flags | Schema Updates | ||||
Original Reporter | |||||
SVN Revision | |||||
Git Commit | |||||
related to | 0000802 | resolved | miqrogroove | Audit All Schema Value Formats |
child of | 0000810 | new | Adopt the Symfony Translate API |
|
I took a deep dive into the schema issues tonight. The good news is that the ISO-8859-1 languages can be converted in place using MySQL statements. All of the other languages have been assigned the 'latin1' charset in the schema out of convenience and will have to be converted to binary data types to avoid being interpreted incorrectly when reassigning the correct charset. The bad news is that we also have a Finnish language translation encoded as ISO-8859-10 which is not supported in MySQL. To support those data in the upgrader, we will have to convert them in the PHP layer and update all of the binary values with UTF-8 equivalents before reassigning a utf8mb4 charset. |
|
Extra consideration: The existing upgrader is built on latin1 charset connections. It will need to set and update the connection charset between schema versions. |
Date Modified | Username | Field | Change |
---|---|---|---|
2025-07-05 23:11 | miqrogroove | New Issue | |
2025-07-05 23:11 | miqrogroove | Status | new => assigned |
2025-07-05 23:11 | miqrogroove | Assigned To | => miqrogroove |
2025-07-05 23:11 | miqrogroove | Issue generated from: 0000802 | |
2025-07-05 23:11 | miqrogroove | Relationship added | related to 0000802 |
2025-07-05 23:11 | miqrogroove | Assigned To | miqrogroove => |
2025-07-05 23:11 | miqrogroove | Status | assigned => confirmed |
2025-07-10 07:25 | miqrogroove | Relationship added | child of 0000810 |
2025-07-14 07:06 | miqrogroove | Target Version | 1.12.00 => 1.10.00 |
2025-07-14 07:06 | miqrogroove | Flags | Schema Updates => Schema Updates |
2025-07-14 23:22 | miqrogroove | Note Added: 0000582 | |
2025-07-15 06:36 | miqrogroove | Target Version | 1.10.00 => 1.12.00 |
2025-07-15 14:26 | miqrogroove | Note Added: 0000583 |