作者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://webptt.com/cn.aspx?n=bbs/GameDesign/M.1548386088.A.A30.html
1F:→ pttworld: 把u'\u7f16'这个字元改掉呢 01/25 11:29
2F:推 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
3F:推 NDark: 我的问题是 "你是使用甚麽console" 来下命令的? 01/25 14:37
win32 的 cmd.exe 是指这个吗?
※ 编辑: sck921 (101.15.193.19), 01/25/2019 15:18:03
4F:推 NDark: 我记得安装 cocos2d 的相关函式库会装一个console. 01/25 15:24
5F:→ NDark: 尝试用那个比较好. cmd是windows环境. 01/25 15:26
6F:→ NDark: cocos2d为了平台相容性. 路径的思考模式是linux/mac base 01/25 15:27
7F:→ NDark: 导致很多时候路径的解析,甚至中文路径会出问题. 01/25 15:27
8F:推 NDark: cocos2d 2.x 的时候我是用 Cygwin 01/25 15:30
9F:→ NDark: 安装python的时候好像也会附一个console. 01/25 15:30
10F:→ NDark: 然後 系统的环境设定要检查是否有正确增加cocos2d的路径 01/25 15:31
弄了半天还是一直出错,放弃 C++ 了..改用 JS 配 Creator 写..不过还是感谢解答
※ 编辑: sck921 (1.34.124.84), 01/25/2019 21:29:21
11F:推 LPH66: 顺带提一下, u'\u7f16' (U+7f16) 是简体的 编 字 01/27 02:30
12F:→ LPH66: 你看你要不要找找是在哪里用到然後改掉 01/27 02:30
13F:→ LPH66: 「编」←在有 UAO 的 BBS 环境应该可以看到左边引号内这字 01/27 02:31
已经改过了,编码没问题了,但是还有别的错误卡住。
※ 编辑: sck921 (1.34.124.84), 01/27/2019 23:42:16
14F:推 husano896: 用py3版就不会有编码问题了 04/10 08:53
15F:推 sorkayi: 我是 2.7 把那几段删掉 重新打一次 就好了 06/23 14:58
16F:→ sorkayi: 记得手打 06/23 14:58
17F:推 sorkayi: 後来发现 isinstance 前面一行加上 self.encoding="utf8" 06/23 20:07