zoukankan      html  css  js  c++  java
  • shapefile 编码错误问题解决 Wrong codepage of shapefile Warning 1: One or several characters couldn't be converted correctly from UTF-8 to ISO-8859-1.

    linux下运行,因为大部分shapefile 文件,在使用时都没有指定字符集,所以qgis只能从环境变量中获取设置环境变量中获取SHAPE_ENCODING。

    目前唯一的解决办法就是设置环境变量

    $ SHAPE_ENCODING=UTF-8
    $ export SHAPE_ENCODING
    $ qgis

    I insist that this is a QGIS issue.

    GDAL 1.9.0 (and newer) is trying to interpret the encoding setting from the shape file itself. When creating a new shape file “ENCODING” should be passed as an attribute, which, obviously, is not done.

    Calling qgis from terminal allows two track down an warning messages. Saving non-Latin characters in a shape files generates following warning message: “Warning 1: One or several characters couldn't be converted correctly from UTF-8 to ISO-8859-1.
    This warning will not be emitted anymore”.

    On the other hand, most of the shape files used by users are without character encoding byte. So QGIS has to operate with environmental variable “SHAPE_ENCODING”. At present the only solution is to use the same character coding for the given QGIS session, e.g.:

    SHAPE_ENCODING=UTF-8 export SHAPE_ENCODING qgis

    The example above allows to create and edit shape files with UTF-8 as a character encoding (example for Linux users, Windows users must use “SET SHAPE_ENCODING=UTF-8”).

    ------------------------------------------------
    Excerpt from

    http://trac.osgeo.org/gdal/wiki/ConfigOptions

    In C/C++ configuration switches can be set programmatically like this:

    #include "cpl_conv.h" 
    ...
    CPLSetConfigOption( "GDAL_CACHEMAX", "64" );

    Normally a configuration option applies to all threads active in a program, but they can be limited to only the current thread this way:

    CPLSetThreadLocalConfigOption( "GDAL_CACHEMAX", "64" );

     由 zirneklitis - 更新于 一年以上 之前

    The Linux example above should be as follows:

    $ SHAPE_ENCODING=UTF-8
    $ export SHAPE_ENCODING
    $ qgis
  • 相关阅读:
    Populating Next Right Pointers in Each Node I&&II ——II仍然需要认真看看
    MySQL源码分析以及目录结构
    mysql分表的三种方法
    Hadoop学习
    关系型数据库ACID
    九种基本数据类型和它们的封装类
    java中堆和栈的区别
    软件测试-----Graph Coverage作业
    Lab1--关于安装JUnit的简要描述
    动态导入(import)和静态导入(import)的区别
  • 原文地址:https://www.cnblogs.com/mfryf/p/3547982.html
Copyright © 2011-2022 走看看