[GeoNode-users] Encoding error on upload zipped shapefile on centos 7

Stefan Steiniger sstein at geo.uzh.ch
Wed Jul 12 13:53:50 PDT 2017


perhaps not helpful, but would it not be easier to load the shape in 
QGIS and save it as a new dataset with another encoding there?

..just wondering,

stefan


On 07/12/2017 04:34 PM, Francesco Bartoli wrote:
> All,
>
> I'm facing a common error while uploading an archived shapefile. The 
> file is the commonly used ne_50m_admin_0_countries.
> The error is well known also in django documentation and due to non 
> ascii characters:
>
> https://docs.djangoproject.com/en/1.8/ref/unicode/#files 
> <https://n1.nylas.com/link/df895d51a877f962a1d28456afd3ff6a2ad03f057079e07181a3bc641bd29713/0?redirect=https%3A%2F%2Fdocs.djangoproject.com%2Fen%2F1.8%2Fref%2Funicode%2F%23files>
>
> Unfortunately the recommended solution from the django docs for 
> deployments with apache and mod_wsgi
>
> https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/ 
> <https://n1.nylas.com/link/df895d51a877f962a1d28456afd3ff6a2ad03f057079e07181a3bc641bd29713/1?redirect=https%3A%2F%2Fdocs.djangoproject.com%2Fen%2F1.8%2Fhowto%2Fdeployment%2Fwsgi%2Fmodwsgi%2F>
>
> doesn't solve the issue in centos 7. The box has been created while 
> reviewing the installation on that environment as per this PR 
> https://github.com/GeoNode/geonode/pull/3168 
> <https://n1.nylas.com/link/df895d51a877f962a1d28456afd3ff6a2ad03f057079e07181a3bc641bd29713/2?redirect=https%3A%2F%2Fgithub.com%2FGeoNode%2Fgeonode%2Fpull%2F3168>
>
> It can be easily reproduced by adding this view and route within 
> geonode app:
>
> #my_views.py
> import locale
> import sys
> from django.http import HttpResponse
>
> def view_locale(request):
>    loc_info = "getlocale: " + str(locale.getlocale()) + \
>        "<br/>getdefaultlocale(): " + str(locale.getdefaultlocale()) + \
>        "<br/>fs_encoding: " + str(sys.getfilesystemencoding()) + \
>        "<br/>sys default encoding: " + str(sys.getdefaultencoding())
>    return HttpResponse(loc_info)
>
> #urls.py
> ...
> url(r'^locale/$', 'geonode.my_views.view_locale'),
> ...
>
> Result is always this:
> getlocale: (None, None)
> getdefaultlocale(): ('en_US', 'UTF-8')
> fs_encoding: UTF-8
> sys default encoding: ascii
>
> Setting the following variables in /etc/sysconfig/httpd and restart as 
> suggested
>
> export LANG="en_US.UTF-8"
> export LC_ALL="en_US.UTF-8"
>
> does not change anything in particular the system default encoding 
> which is the reason why the upload is failing.
>
> Adding such variables to WSGIDaemonProcess:
>
> WSGIDaemonProcess geonode lang='en_US.UTF-8' locale='en_US.UTF-8' 
> python-path=/home/geonode/geonode:/home/geonode/.venvs/geonode/lib/python2.7/site-packages 
> user=apache threads=15 processes=2
>
> just affects the getlocale() function while default encoding is 
> unaltered. The only way to affect it would be to add and enforce it:
>
> import sys
> reload(sys)
> sys.setdefaultencoding('utf-8 
> <https://n1.nylas.com/link/df895d51a877f962a1d28456afd3ff6a2ad03f057079e07181a3bc641bd29713/3?redirect=sys.setdefaultencoding%28%27utf-8>')
>
> but this is strongly not recommended and discouraged. More here 
> https://anonbadger.wordpress.com/2015/06/16/why-sys-setdefaultencoding-will-break-code/ 
> <https://n1.nylas.com/link/df895d51a877f962a1d28456afd3ff6a2ad03f057079e07181a3bc641bd29713/4?redirect=https%3A%2F%2Fanonbadger.wordpress.com%2F2015%2F06%2F16%2Fwhy-sys-setdefaultencoding-will-break-code%2F>.
>
> Did anyone already encounter this kind of error? Actually I don't have 
> a solution but for sure it's not a bug in geonode code base despite I 
> did not figure out the real source.
>
> Any help and idea, how to overcome it, is welcome :)
>
> thx
> Francesco
>
> Sent from Nylas Mail 
> <https://n1.nylas.com/link/df895d51a877f962a1d28456afd3ff6a2ad03f057079e07181a3bc641bd29713/5?redirect=https%3A%2F%2Fnylas.com%3Fref%3Dn1>, 
> the best free email app for work
>
>
> _______________________________________________
> geonode-users mailing list
> geonode-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geonode-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-users/attachments/20170712/6b71b803/attachment-0001.html>


More information about the geonode-users mailing list