Skip to Content
Menu
This question has been flagged
7 Replies
12359 Views

Hello,

I hope someone can help me fix the following error.

OpenERP Server Error

Client Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/openerp/addons/web/http.py", line 204, in dispatch response["result"] = method(self, **self.params) File "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py", line 777, in create params['create_admin_pwd']) File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 30, in proxy_method result = self.session.send(self.service_name, method, *args) File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 103, in send raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

Server Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 89, in send return openerp.netsvc.dispatch_rpc(service_name, method, args) File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 292, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 122, in dispatch return fn(params) File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 167, in exp_create_database self._create_empty_database(db_name) File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 136, in _create_empty_database cr.execute("""CREATE DATABASE "%s" ENCODING 'unicode' TEMPLATE "%s" """ % (name, chosen_template)) File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 161, in wrapper return f(self, *args, *kwargs) File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 226, in execute res = self._obj.execute(query, params) DataError: encoding UTF8 does not match locale en_US DETAIL: The chosen LC_CTYPE setting requires encoding LATIN1.

Thank you for your help.

Greetings Sven

Avatar
Discard
Best Answer

Hello,

you ubuntu install is'not in UTF-8 mode (unicode).

if you write in a terminal:

env | grep LANG

You should have LANG=en_US.UTF-8 to be able to support unicode encoding. If it's not the case, just write this:

sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
sudo update-locale LANG=en_US.UTF-8

And now logout your session or just restart your server, you will be able to launch OpenERP.

Avatar
Discard
Author

My System shows follow: LANG=en_US.UTF-8 and as LANGUAGE=en - the problem persists. Thanks for your help and I hope that I have a idea.

Best Answer

This script solved the problem for me

sudo su postgres
psql
update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8' 
lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
update pg_database set datistemplate=true where datname='template1';
Avatar
Discard
Best Answer

I have tried all solutions, none fixes the problem.

I have restarted Odoo and terminal session after all "fixes".

Anyone have additional suggestions?

Avatar
Discard

I was not able to comment due to karma requirements...

Best Answer

Similar issue here and have restarted the server and Odoo but no effect. Still complaining

DataError: encoding "UTF8" does not match locale "en_US"

DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN1".

Note that we are trying install the first database after Odoo install and we would like to select the UK English for it. It anyway complains about "en_US" instead of "en_GB", and the error is the same if we try to install "en_US" instead. Anyhow, when asking with the command "env | grep LANG", the answer is:

LANG=en_GB.UTF-8

LANGUAGE=en_GB.UTF-8

The LANG value stays if restarting the server but the LANGUAGE value cuts off and says after that "LANGUAGE=en_US:" instead.


- - - 

EDITED / SOLUTION:

I  got the problem solved by totally removing Odoo installation and postgresql as well.

After that checked with the command "locale" what are the language locales.

They were already ok in this point since I have been trying to get them in order indeed but the solution to get them in order in case needed is this one:

For Ubuntu 14.04 to add these lines to the /etc/bash.bashrc file: 

export LC_ALL="en_GB.UTF-8"

export LC_CTYPE="en_GB.UTF-8"


or it can be "en_US.UTF-8" or any other language that is needed as the main language.

After that running the Odoo install with the postgresql database settings, things should go in order and then you will be able to create the first database with the Odoo Database Manager after the fresh install. I hope this helps somebody since this was quite a hurdle to find out what goes wrong with the locales (very difficult to fix afterwards, so faster to install all again after the locales are in order!).

Avatar
Discard

Ok, got the values all ok now but still Odoo is insisting with the same error. Is there a possibility this error is actually misleading and something else is wrong? This is Ubuntu 14.04.2 and after setting the locales we installed again postgresql in order to get the effect on the locales into it. I added this to our /etc/bash.bashrc file: (using command "sudo vim /etc/bash.bashrc" ) export LC_ALL="en_GB.UTF-8" export LC_CTYPE="en_GB.UTF-8" So, after this we have restarted both the server and Odoo, checked that locales are still staying correct and then tried to make the Odoo DB from the database manager but it is repeating the same error. How could this be solved?