[請益] Cocos2d-x 'cp950' 編碼錯誤問題

作者: sck921 (The Fate)   2019-01-25 11:14:36
雖然版上 Unity 的討論比較多,但還是 po 上來。
有關 Cocos2d-x 遊戲專案要打包成 android apk 檔案
在 cmd 介面下指令 cocos compile 的時候出現錯誤訊息:
c:\CocosTemp\test>cocos compile
Traceback (most recent call last):
File "C:\cocos2d-x-3.17.1\tools\cocos2d-console\bin\/cocos.py", line 1081,
in <module>
run_plugin(command, argv, plugins)
File "C:\cocos2d-x-3.17.1\tools\cocos2d-console\bin\/cocos.py", line 970,
in run_plugin
plugin.run(argv, dependencies_objects)
File
"C:\cocos2d-x-3.17.1\tools\cocos2d-console\plugins\plugin_compile\project_compile.py",
line 1508, in run
self.parse_args(argv)
File "C:\cocos2d-x-3.17.1\tools\cocos2d-console\bin\cocos.py", line 615, in
parse_args
self._add_custom_options(parser)
File
"C:\cocos2d-x-3.17.1\tools\cocos2d-console\plugins\plugin_compile\project_compile.py",
line 74, in _add_custom_options
help=MultiLanguage.get_string('COMPILE_ARG_BUILD_TYPE'))
File "C:\cocos2d-x-3.17.1\tools\cocos2d-console\bin\MultiLanguage.py", line
52, in get_string
fmt = cls.get_instance().get_current_string(key)
File "C:\cocos2d-x-3.17.1\tools\cocos2d-console\bin\MultiLanguage.py", line
158, in get_current_string
ret = ret.encode(self.encoding)
UnicodeEncodeError: 'cp950' codec can't encode character u'\u7f16' in
position 84: illegal multibyte sequence
用的是目前官網的 3.17.1 版本引擎,Python 是
Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on
win32 版本的。
查過網路上的其它資料,有寫是 UTF-8 的問題、轉 CP950 的問題、Python 的問題、
cmd 的轉換的問題。
目前有試過有中文的 .cpp 和 .h 存成 UTF-8 檔案;
在 cmd 切換成 chcp 65001 下去 compile 還是一樣的錯誤。
要移植到 Android Studio 好像也要透過 cmd 的指令,
現在卡在打包 apk 的問題了很頭痛,官方的文件也沒什麼幫助....
希望有好心人能夠幫忙解決,感謝!
作者: pttworld (批踢踢世界)   2019-01-25 11:29:00
把u'\u7f16'這個字元改掉呢
作者: NDark (溺於黑暗)   2019-01-25 13:17:00
你是用甚麼console下編譯命令的我的問題是 "你是使用甚麼console" 來下命令的?我記得安裝 cocos2d 的相關函式庫會裝一個console.嘗試用那個比較好. cmd是windows環境.cocos2d為了平台相容性. 路徑的思考模式是linux/mac base導致很多時候路徑的解析,甚至中文路徑會出問題.cocos2d 2.x 的時候我是用 Cygwin安裝python的時候好像也會附一個console.然後 系統的環境設定要檢查是否有正確增加cocos2d的路徑
作者: LPH66 (-6.2598534e+18f)   2019-01-27 02:30:00
順帶提一下, u'\u7f16' (U+7f16) 是簡體的 編 字你看你要不要找找是在哪裡用到然後改掉「编」←在有 UAO 的 BBS 環境應該可以看到左邊引號內這字
作者: husano896 (乂蒼之龍)   2019-04-10 08:53:00
用py3版就不會有編碼問題了

Links booklink

Contact Us: admin [ a t ] ucptt.com