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

约定:

系统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 改为 installed

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

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

点一下钩完成

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

接着去刷新浏览器

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

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

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

(32)odoo中的编码问题的更多相关文章

  1. python语言中的编码问题

    在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的 ...

  2. 聊聊python 2中的编码

    为什么需要编码: 计算机可以存储和处理二进制,那么从文字到计算机可以识别的二进制之间需要对应的关系,于是便有了ASCII,ASSCII使用7位字符,由于1byte=8bit,所以最高位补一个0,使用8 ...

  3. Python 2 中的编码

    在 Python 尤其是 Python2 中,编码问题是困扰开发者尤其初学者的一大问题.什么 Unicode/UTF-8/str ,又是 decode/encode 的,搞得人头都大了.其实不然,这有 ...

  4. Java web中常见编码乱码问题(一)

    最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...

  5. 深入分析Java Web中的编码问题

    编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...

  6. protobuf中的编码规则

    protobuf中的编码规则 (1)序列化和反序列化: 在开始本部分的内容之前,首先有必要介绍两个基本概念,一个是序列化,一个是反序列化.这两个概念的定义在网上搜一下都很多的,但大多都讲得比较晦涩,不 ...

  7. 转 python3中SQLLIT编码与解码之Unicode与bytes

    #########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...

  8. python基础之六:编码简介以及python3中的编码

    1.常见的四种编码方式的编码过程: ascii A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字 ...

  9. java 中的编码(二)

    UTF-16编码规则: 按照UTF-16编码规则计算下Unicode码位为 U+10002 (十进制:65538)的字符的UTF-16编码表示. U+10002落在 [U+10000, U+10FFF ...

随机推荐

  1. shoususaiBti

    Description 郭橐驼,不知始何名.病偻,隆然伏行,有类橐驼者,故乡人号之驼.驼闻之,曰:“甚善.名我固当.”因舍其名,亦自谓橐驼云.其乡曰丰乐乡,在长安西.驼业种树,凡长安豪富人为观游及卖果 ...

  2. Cheatsheet: 2014 01.01 ~ 01.14

    .NET 15 reasons why I can't work without JetBrains ReSharper Web Web scraping with Node.js Koa.js : ...

  3. 【转载】COM的多线程模型

    原文:COM的多线程模型 COM的多线程模型是COM技术里头最难以理解的部分之一,很多书都有涉及但是都没有很好的讲清楚.很多新人都会在这里觉得很迷惑,google大神能搜到一篇vckbase上的文章, ...

  4. CUBRID学习笔记 34 net参数化查询 cubrid教程示例

    using CUBRID.Data.CUBRIDClient; namespace ParameterExample { class Program { static void Main(string ...

  5. 最近用到这个强大的工具 PhysicsEditor (转)

    今天收到PhysicsEditor作者发过来的license key,所以顺便把PhysicsEditor也尝试了一下.主要是尝试将PhysicsEditor与cocos2dx,box2d结合开发的一 ...

  6. asp.netMVC4(基础知识----传值问题分析)

    (1)一般在数据交互的时候,都会涉及到前后台间的相互传值,一般的情况下,方法也有多种,下面就后台定义变量往前台传值: 以下是后台代码: /// <summary> /// 展示举报信息 / ...

  7. C,C++,Lisp,Java,Perl,Python

    (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来. 巴别塔不建自毁,与其说上帝的分化将 ...

  8. iOS - Swift Array 数组

    前言 public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContai ...

  9. JavaScript 点击图片放大功能

    <!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. oracle dba 职责, 及个人需要掌握内容

    ORACLE DBA 职责, 基本相当于日常工作. 0. 数据库设计 1. 模式对象的创建与管理(table, index 等等) 2. 事物管理, 例如并发等 3. SQL 调优 只是针对SQL的 ...