Problem Description
The ExtendScript API operation renderQueueItem.outputModule().file = has a character encoding problem: when setting output paths containing non-ASCII characters (Chinese, Japanese, Korean, European special characters, etc.), these characters are replaced with dashes (-----). Testing shows that manually setting the same paths in the AE interface works perfectly, and the API can correctly read manually set non-ASCII paths, but after setting through the API , it displays as dashes, indicating the issue occurs during the API's write process.
Note: This functionality worked correctly in After Effects 2024.
Version Information
- After Effects Version: 2025 (latest version)
- Platform: Windows 11
- OS Version: 24H2
Steps to Reproduce
- Use ExtendScript to create new render queue items
- Try to set output paths containing non-ASCII characters via API
- Observe the display result in the render queue panel
Test Script
Simply create a new project and run this script directly:
// Create three test compositions with Chinese, Japanese, and Korean names
var testComps = [
{name: "测试合成-Chinese Test", path: "C:/输出文件夹/中文视频.mp4"},
{name: "テスト合成-Japanese Test", path: "C:/テストフォルダ/日本語ビデオ.mp4"},
{name: "테스트합성-Korean Test", path: "C:/테스트폴더/한국어비디오.mp4"}
];
// Create render queue items for each composition
for (var i = 0; i < testComps.length; i++) {
// Create composition
var comp = app.project.items.addComp(testComps[i].name, 1920, 1080, 1, 10, 30);
// Add to render queue
var rqItem = app.project.renderQueue.items.add(comp);
try {
// Set output path
rqItem.outputModule(1).file = new File(testComps[i].path);
// Read back the set path for verification
var setPath = rqItem.outputModule(1).file.fsName;
alert("Comp: " + testComps[i].name + "\nOriginal Path: " + testComps[i].path + "\nActual Path: " + setPath);
} catch (e) {
alert("Error with " + testComps[i].name + ": " + e.toString());
}
}
// Reminder: Check the render queue panel display
alert("Please check the Render Queue panel to see how the composition names and output paths are displayed.");
Expected vs Actual Result
- Expected: Path displays correctly as "C:/输出文件夹/测试视频.mp4"
- Actual: Path displays as "C:/?????/-----.mp4"
Test Findings
- :white_heavy_check_mark: Manually setting non-ASCII paths in AE interface → Works normally
- :white_heavy_check_mark: API reading manually set non-ASCII paths → Displays correctly
- :cross_mark: API setting non-ASCII paths → Displays as dashes