跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 5.0 的无言问题

5.0 的无言问题

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
13 帖子 5 发布者 8.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • O 离线
    O 离线
    oldrev
    写于 最后由 编辑
    #1

    我尝试把 4.x 开发的模块移植到 5.0,结果遇到了一个很无言的问题:

    我在视图(表单)定义文件使用了中文作为表单的标题,视图定义的 xml 文件使用的是 utf-8 编码,结果出现:

    binosvorm.py", line 1049, in fields_view_get
    doc = dom.minidom.parseString(result['arch'].encode('utf-8'))
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 54: ordinal not in range(128)

    查看代码:
    server/bin/osv/orm.py:
    1049: doc = dom.minidom.parseString(result['arch'].encode('utf-8'))

    我糊涂了,请熟悉 python 的同学出来科普一下 python 的字符串和 unicode 操作的相关知识

    1 条回复 最后回复
    0
    • wjfonhandW 离线
      wjfonhandW 离线
      wjfonhand
      写于 最后由 编辑
      #2

      为什么要用中文标题呢?用翻译功能不是可以实现么?
      虽然我个人喜欢中文,但是代码里还是不要出现中文的好,呵呵

      GoodERP -- Odoo China fork

      1 条回复 最后回复
      0
      • O 离线
        O 离线
        oldrev
        写于 最后由 编辑
        #3

        很多 MIS 都是中国特色的,没有国际化的必要

        1 条回复 最后回复
        0
        • O 离线
          O 离线
          oldrev
          写于 最后由 编辑
          #4

          最可恶的是 4.x 都支持的, 5.x 就不支持了

          1 条回复 最后回复
          0
          • S 离线
            S 离线
            simon
            写于 最后由 编辑
            #5

            在程序最开始加上

            -- coding: utf-8 --

            试试
            不过不是很明白
            doc = dom.minidom.parseString(result['arch'].encode('utf-8'))
            就是强制doc用utf8
            .encode('utf-8')就是说前面这个东西是utf8的

            1 条回复 最后回复
            0
            • S 离线
              S 离线
              simon
              写于 最后由 编辑
              #6

              你可以看看他实际出来的字符是什么模样的是不是有些很特别的东西在里面。
              我才郁闷呢不知道openerp用了那个库升级了界面如果用原来的库,会出现字符不认的现象。
              不过有个不是办法的办法就是直接装客户端而不是用源码运行还可以

              [[i] 本帖最后由 simon 于 2008-12-2 20:20 编辑 [/i]]

              1 条回复 最后回复
              0
              • S 离线
                S 离线
                simon
                写于 最后由 编辑
                #7

                最简单的办法是把你的xml文件用软件转为utf8编码不然就会出现这个错误,错误是说你的文件或者要打开的文件里面是ascii编码的所以不通过

                1 条回复 最后回复
                0
                • O 离线
                  O 离线
                  oldrev
                  写于 最后由 编辑
                  #8

                  本身我的 xml 就是 utf-8 的,它又 encode("utf-8"),这应该是问题所在了

                  1 条回复 最后回复
                  0
                  • O 离线
                    O 离线
                    oldrev
                    写于 最后由 编辑
                    #9

                    https://bugs.launchpad.net/openobject-addons/+bug/308644
                    似乎是这个 bug

                    1 条回复 最后回复
                    0
                    • digitalsatoriD 离线
                      digitalsatoriD 离线
                      digitalsatori 管理员
                      写于 最后由 编辑
                      #10

                      你的这个模块在v5上安装,到最后会出现“UnicodeEncode Error", 但实际上这个模块是安装成功的,可以使用。
                      出现encode错误是因为,你的模块没有设置Access Rule。在V5的版本中对没有设置Access Rule的模块会有一个警告信息。因为在smshleper.py中的smshelper_message_template对象的_description是中文,当logger在记录前面提到的警告信息时,就出现了转码错误。

                      这也是安装在V4中没问题而在V5中不行的原因。

                      将server/bin/netsvc.py的242行左右的地方,将下面的代码[code] result = str(msg).strip().split('n')
                      [/code]之前加上:[code] if isinstance(msg, unicode):
                      msg = msg.encode(sys.getfilesystemencoding())
                      [/code]试试。或将前面提到的_description中的说明改成英文。

                      [[i] 本帖最后由 digitalsatori 于 2008-12-26 21:50 编辑 [/i]]

                      【上海先安科技】(tony AT openerp.cn)

                      1 条回复 最后回复
                      0
                      • O 离线
                        O 离线
                        oldrev
                        写于 最后由 编辑
                        #11

                        果然是超级版主阿,水平就是不一样

                        1 条回复 最后回复
                        0
                        • mrshellyM 离线
                          mrshellyM 离线
                          mrshelly
                          写于 最后由 编辑
                          #12

                          唉.... 这样的BUG, 怎么就会出现呢??

                          类似的BUG,还存在多少哩?

                          1 条回复 最后回复
                          0

                          • 登录

                          • 没有帐号? 注册

                          • 登录或注册以进行搜索。
                          • 第一个帖子
                            最后一个帖子
                          0
                          • 版块
                          • 标签
                          • 热门
                          • 用户
                          • 群组