diff --git a/realtime_lora_trainer.py b/realtime_lora_trainer.py index 14d1587..cd71e96 100644 --- a/realtime_lora_trainer.py +++ b/realtime_lora_trainer.py @@ -494,6 +494,10 @@ class RealtimeLoraTrainer: startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + # Set UTF-8 encoding for subprocess to handle non-ASCII output + env = os.environ.copy() + env['PYTHONIOENCODING'] = 'utf-8' + process = subprocess.Popen( [venv_python, run_script, config_path], stdout=subprocess.PIPE, @@ -503,7 +507,8 @@ class RealtimeLoraTrainer: errors='replace', bufsize=1, startupinfo=startupinfo, - cwd=ai_toolkit_path + cwd=ai_toolkit_path, + env=env, ) # Stream output for progress visibility diff --git a/sd15_lora_trainer.py b/sd15_lora_trainer.py index c6cb46c..4f93cbd 100644 --- a/sd15_lora_trainer.py +++ b/sd15_lora_trainer.py @@ -460,6 +460,10 @@ class SD15LoraTrainer: startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + # Set UTF-8 encoding for subprocess to handle Japanese text in sd-scripts + env = os.environ.copy() + env['PYTHONIOENCODING'] = 'utf-8' + process = subprocess.Popen( cmd, stdout=subprocess.PIPE, @@ -469,6 +473,7 @@ class SD15LoraTrainer: errors='replace', cwd=sd_scripts_path, startupinfo=startupinfo, + env=env, ) # Stream output diff --git a/sdxl_lora_trainer.py b/sdxl_lora_trainer.py index aa4130c..0db9d43 100644 --- a/sdxl_lora_trainer.py +++ b/sdxl_lora_trainer.py @@ -461,6 +461,10 @@ class SDXLLoraTrainer: startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + # Set UTF-8 encoding for subprocess to handle Japanese text in sd-scripts + env = os.environ.copy() + env['PYTHONIOENCODING'] = 'utf-8' + process = subprocess.Popen( cmd, stdout=subprocess.PIPE, @@ -470,6 +474,7 @@ class SDXLLoraTrainer: errors='replace', cwd=sd_scripts_path, startupinfo=startupinfo, + env=env, ) # Stream output