作者sck921 (The Fate)
看板GameDesign
標題[請益] Cocos2d-x 'cp950' 編碼錯誤問題
時間Fri Jan 25 11:14:36 2019
雖然版上 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 的問題了很頭痛,官方的文件也沒什麼幫助....
希望有好心人能夠幫忙解決,感謝!
--
◣
幹咧! 剛重灌好找解壓縮 包成這樣是要怎麼安裝啦!!
▉
▅▅▏ ◣ / ▁
▉
ΞΞ▏ \◣ 好的格式是不會沈寂的 現在叫好人幫你裝電腦的時候
▕支▏
▉
__▏ ◤\ 也通常都會順便把winrar灌進去啦
▕離▏
▃▃▃▃ ▇
Winrar_390-Final.rar
推 axxxxxxx:但是也有把winrar安裝程式壓縮成rar的好人
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.193.19
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1548386088.A.A30.html
→ pttworld: 把u'\u7f16'這個字元改掉呢 01/25 11:29
推 NDark: 你是用甚麼console下編譯命令的 01/25 13:17
cmd : cocos compile -p android
把簡體字元改掉後有通過了,但是又有 cmake 的報錯
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test:generateJsonModelDebug'.
> Error occurred while communicating with CMake server. Check log
C:\CocosTemp\test\proj.android\app\.externalNativeBuild\cmake\debug\armeabi-v7a\cmake_server_log.txt
for additional information.
我的 cmake 在 Android Studio 的 SDK Manager 裡面看是有裝好啊..
※ 編輯: sck921 (101.15.193.19), 01/25/2019 14:32:45
推 NDark: 我的問題是 "你是使用甚麼console" 來下命令的? 01/25 14:37
win32 的 cmd.exe 是指這個嗎?
※ 編輯: sck921 (101.15.193.19), 01/25/2019 15:18:03
推 NDark: 我記得安裝 cocos2d 的相關函式庫會裝一個console. 01/25 15:24
→ NDark: 嘗試用那個比較好. cmd是windows環境. 01/25 15:26
→ NDark: cocos2d為了平台相容性. 路徑的思考模式是linux/mac base 01/25 15:27
→ NDark: 導致很多時候路徑的解析,甚至中文路徑會出問題. 01/25 15:27
推 NDark: cocos2d 2.x 的時候我是用 Cygwin 01/25 15:30
→ NDark: 安裝python的時候好像也會附一個console. 01/25 15:30
→ NDark: 然後 系統的環境設定要檢查是否有正確增加cocos2d的路徑 01/25 15:31
弄了半天還是一直出錯,放棄 C++ 了..改用 JS 配 Creator 寫..不過還是感謝解答
※ 編輯: sck921 (1.34.124.84), 01/25/2019 21:29:21
推 LPH66: 順帶提一下, u'\u7f16' (U+7f16) 是簡體的 編 字 01/27 02:30
→ LPH66: 你看你要不要找找是在哪裡用到然後改掉 01/27 02:30
→ LPH66: 「编」←在有 UAO 的 BBS 環境應該可以看到左邊引號內這字 01/27 02:31
已經改過了,編碼沒問題了,但是還有別的錯誤卡住。
※ 編輯: sck921 (1.34.124.84), 01/27/2019 23:42:16
推 husano896: 用py3版就不會有編碼問題了 04/10 08:53
推 sorkayi: 我是 2.7 把那幾段刪掉 重新打一次 就好了 06/23 14:58
→ sorkayi: 記得手打 06/23 14:58
推 sorkayi: 後來發現 isinstance 前面一行加上 self.encoding="utf8" 06/23 20:07