博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(32)odoo中的编码问题
阅读量:6848 次
发布时间:2019-06-26

本文共 1427 字,大约阅读时间需要 4 分钟。

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

约定:

系统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

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

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

Python代码

# encoding=utf8

import sys

reload(sys)

sys.setdefaultencoding('utf8')

如下图:

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

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

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

核对改的效果:

好了核对正确。

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

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

模块目录如下:

点“模块升级” 报错了

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

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

只能加一行,如下:

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

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

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

在数据表中筛选一下

把 红框中的 to upgrade 改为

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

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

点一下钩完成

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

接着去刷新浏览器

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

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

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

转载于:https://www.cnblogs.com/toby2chen/p/5338135.html

你可能感兴趣的文章
svn删除文件或文件夹后提交失败及解决
查看>>
深入理解this和call、bind、apply对this的影响及用法
查看>>
nginx中文文档
查看>>
secureCRT连接不上linux的当中一个最大的原因
查看>>
Linux-kill命令和killall命令(11)
查看>>
android webview
查看>>
三刺激值
查看>>
SimpleRpc-系统边界以及整体架构
查看>>
istio入门(02)istio的架构和概念
查看>>
Docker container常用命令
查看>>
masscan
查看>>
Ubuntu 16.04下快速在当前目录打开终端的快捷键设置
查看>>
servlet本质
查看>>
html5--1.5 文本元素
查看>>
oracle 正则表达式
查看>>
《设计模式之禅》--单例扩展:多例模式
查看>>
Win8 Metro(C#)数字图像处理--2.39二值图像投影
查看>>
linux 信号屏蔽
查看>>
2014年第五届蓝桥杯C/C++B组省赛题目解析
查看>>
怎么才知道你在使用的是不是中国电信CN2的线路
查看>>