dbx/crates
至高吾尚 491e9633e0
fix(grid): polish cell/row/column detail dialogs (#528)
When Chinese text (table data or column comments) was written to MySQL
through a connection using the wrong charset (e.g. latin1/CP1252),
each byte of the correct UTF-8 representation was stored as a separate
CP1252 character, then re-encoded as UTF-8 on read, resulting in
garbled display like "主é"®" instead of "主键".

This commit adds a `fix_potential_double_encoding` function that reverses
the CP1252→UTF-8 double-encoding at read time, with a safety check that
only applies the fix when the decoded result contains CJK characters,
avoiding any impact on legitimate Latin-1 or ASCII text.

Changes:
- Add fix_potential_double_encoding() helper with full CP1252 mapping
  for the 0x80-0x9F range (€, ", ", etc.)
- Apply fix in mysql_value_to_json() to cover all table data display
- Apply fix in get_columns() to cover column comments via
  information_schema.COLUMNS
- Apply fix in get_columns_show() to cover column comments via
  SHOW FULL COLUMNS (fallback path)
- Minor formatting: break long line in columns_sql()
2026-06-07 09:32:31 +08:00
..
dbx-core fix(grid): polish cell/row/column detail dialogs (#528) 2026-06-07 09:32:31 +08:00
dbx-web Expose forwarded database port for local testing (#803) 2026-06-07 01:00:34 +08:00
README.md docs(repo): add directory readmes 2026-05-18 02:50:50 +08:00

README.md

Crates

Rust crates for DBX live here.

Directories

  • dbx-core/ - shared database core, drivers, schema/query logic, import/export, transfer, and plugin support.
  • dbx-web/ - the Docker/web backend service binary published as dbx-web.

The workspace root is defined in the repository-level Cargo.toml.