Repository navigation
Conversation
…the system's ANSI code page reaches fopen, CreateFileA and FindFirstFileA intact
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Define and apply the UTF-8 manifest tools/utf8.manifest, CMakeLists.txt |
The manifest declares UTF-8 as the active Windows code page. CMake adds a macro to attach it to MSVC executable targets, calls the macro through link_ggml_backends, and calls it separately for mp3-codec. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Suggested reviewers: serveurpersocom
Merge Risk: 
Minimal · up to 2aa08
-
The UTF-8 manifest integration presents no identified merge-blocking risk.
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
On Windows the tools open files with the narrow APIs:
FindFirstFileAfor the models directory,CreateFileAfor a GGUF,fopenfor audio and adapters. Theirchar*paths are read in the system's ANSI code page, andargvreachesmainconverted to that code page too, so a path with characters outside it arrives as?. Example: on a Russian Windows (code page 1251),--models "D:\Тест_音乐\models"printsScanning models in D:\????_??\models, the registry stays empty and every synth job answers 501 "No synth models in registry". The same happens for a Chinese user folder on a Western Windows, and so on.This embeds an application manifest that sets the process code page to UTF-8 (
activeCodePage, Windows 10 1903 and later).argvthen arrives in UTF-8, and the narrow file APIs take UTF-8 paths. The tools need no code change, and ggml's ownggml_fopenalready expects UTF-8. On older Windows the setting is ignored, and nothing changes there.tools/utf8.manifest: the manifest.CMakeLists.txt:utf8_code_page(target)adds it to every executable built throughlink_ggml_backends, and tomp3-codec. MSVC only, because CMake embeds.manifestsources with the MSVC linker.Checked with a release build on Windows 11 (code page 1251) and a models directory
D:\Projects\TEMP\_rtest\Тест_音乐\models. Before:Scanning models in D:\Projects\TEMP\_rtest\????_??\modelsand no models. After: the path prints as it is, and the registry finds the LM, Text-Enc, DiT and VAE.Summary by CodeRabbit