zoukankan      html  css  js  c++  java
  • (32)odoo中的编码问题

    对于全部是英文就不存在问题,但我们常用中文,这样会导致一个棘手的问题

    约定:

    系统Ubuntu trusty14.04 自带python2.7.6

    python2.7.9 自己升级了

    升级方法:

    -------------------------

    准备

    # apt-get -y install build-essential libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

    安装 python2.7.9

    # mkdir -p /opt/soft/python

    # cd /opt/soft/python

    # wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz

    # tar -xzvf Python-2.7.9.tgz

    # cd Python-2.7.9

    # ./configure

    # make

    # make install

    升级 python 完成

    -------------------------

    Python 默认编码为 ascii

    clip_image001

    把它设为utf-8, 这个编码处理相对好一些

    在python的Libsite-packages文件夹下新建一个sitecustomize.py,内容为:

    Python代码

    # encoding=utf8

    import sys

    reload(sys)

    sys.setdefaultencoding('utf8')

    如下图:

    clip_image003

    具体的lib/site-packages每个人有所有不同,找到自己的就可以。

    改好重启python服务,说白了就是 ctrl+D 退出控制台,再输入python 进入

    -----------------------------------

    核对改的效果:

    clip_image004

    好了核对正确。

    ---------------------------------------

    下面以升级一个模块,模块中有中文文件名为例:

    模块目录如下:

    clip_image005

    点“模块升级” 报错了

    clip_image007

    查到 openerp/tools/osutil.py", line 57, in walksymlinks

    没有编码为utf-8,自然无法正确得到中文的文件名,这时的变量是unicode

    只能加一行,如下:

    clip_image008

    保存就可以,有这一行,以后模块中有文件名为中文的升级时就不报错了

    刚才报错了刷新显示如下:

    clip_image010

    这时不要急,用数据库工具连到数据库 找到 ir_module_module 这个表,接着找到刚才模块升级的模块 rain_china_region

    clip_image011

    在数据表中筛选一下

    clip_image013

    把 红框中的 to upgrade 改为 installed

    每当模块升级时,一定记得模块的目录名,这样升级万一错了,改一下状态就可以重新来做。

    要不然,系统崩溃了不知如何处理。

    clip_image015

    点一下钩完成

    上面改动了python代码,一定要记得重启odoo服务 生效

    接着去刷新浏览器

    clip_image017

    复活了,再点“模块升级” ,ok可以正常升级

    对于文件的中文 一般不会乱码,主要是python 设定了默认编码为utf-8

    文件编码是utf-8 , 内容编码也是utf-8 这样就一致了

  • 相关阅读:
    3513: [MUTC2013]idiots
    ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台(elk5.2+filebeat2.11)
    【python全栈开发】初识python
    SQL疑难问题
    费用分摊问题
    透过现象看本质
    关于python3round与float的四省五入精度的问题
    Win10下VSCode安装PlantUML
    安装pymssql
    ensorFlow的安装
  • 原文地址:https://www.cnblogs.com/toby2chen/p/5338135.html
Copyright © 2011-2022 走看看