QGis、Gdal本地中文路径问题】的更多相关文章

编译qgis完整项目后,由于Gdal库的原因,中文路径下通过添加矢量数据中数据库中是没有OGR的Oracle数据库功能的: 最开始打算通过重新编译gadl库从内部支持中文的(有成功的麻烦也请告诉我),后来发现其实不用这么麻烦: 网上查找后介绍GDAL添加了对UTF8路径的支持,新增了一个配置项,叫GDAL_FILENAME_IS_UTF8,可以使用下面的语句设为YES或NO,默认为YES! 找到qgis源码中的qgis_core项目中的qgsapplication.cpp代码中的register…
在使用GDAL的过程中,为了支持中文,比需手动进行中文路径的设置,同时特别是在对Shp的属性进行中文输入的时候,都必须进行必要的设定. 为了支持中文路径,在注册了驱动之后,加上第三句就可以了.必须设置为“NO”. GDALAllRegister(); OGRAllRegister(); CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO"); =========================================…
昨天写的博客,将C#读取shp中文属性值乱码的问题应该可以解决,博客地址为:http://blog.csdn.net/liminlu0314/article/details/54096119,然后又测试发现中文路径,中文属性值如果有中文时,也会出现乱码,具体表现为偶数个汉字没有问题,奇数个汉字会出现乱码. 继续调试C#的源码,发现问题还是在于将C++库中返回的结果进行编码转换的时候导致的,源码位于OgrPINVOKE.cs文件中.截取原始的代码如下: protected class SWIGSt…
众所周知,中文环境下(VS2010 C++工程编码为多字节编码),在使用1.8.0版本以后的GDAL打开中文路径下的影像文件(如GeoTiff文件)时, 需对中文文件路径做特殊处理,有2种方法:(我使用的GDAL库添加了HDF4.HDF5格式支持) (1)临时设置GDAL为本机编码环境 GDALAllRegister(); CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");//设置为非UTF-8编码 GDALDatas…
在C#中使用OGR读写矢量数据时,需要引用“using OSGeo.OGR;”. 同时为了处理中文路径和中文字段,需要在开始设置下面两个属性,代码如下: //为了支持中文路径,请添加下面这句代码(大多数情况下不需要这句) //OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","NO"); //为了使属性表字段支持中文,请添加下面这句 OSGeo.GDAL.Gdal.SetConfigOption(&quo…
GDAL库对于C#的支持问题还是蛮多的,对于中文路径的支持就是其中之一(另一个就是通过OGR库获取图形的坐标信息). 关于C#支持中文路径,看过我之前博客的应该都不陌生,如果使用的是我修改过的GDAL库,可以通过设置下面的代码即可让C#直接支持中文路径.如果使用官方的库,不用设置直接应该就可以支持中文路径. // 注册所有的驱动 Ogr.RegisterAll(); // 为了支持中文路径,请添加下面这句代码 OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILEN…
编译GDAL过程比较繁琐,查阅了网上相关资料,同时通过实践,完成GDAL的编译,同时解决了SHP数据中文路径及中文字段乱码的问题,本文以“gdal-2.3.2”版本为例阐述整个编译过程. 一.编译准备 1.编译工具是VS2017,编译前需要下载“gdal-2.3.2”和“swigwin-3.0.12”,下载链接如下: GDAL:http://trac.osgeo.org/gdal/wiki/DownloadSource swigwin:https://sourceforge.net/projec…
之前生成的gdal 2.1.1动态库,在通过命令行执行时,遇到有中文路径或中文图像名时,GDALOpen函数不能正确的被调用,如下图: 解决方法: 1.      在所有使用GDALAllRegister();语句后面加上一句CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO"); 2.      修改源码:将frmts/gdalallregister.cpp文件中GDALAllRegister()函数体内最上面加是一条CP…
最近维护一个项目,遇到了ifstream在中文路径下打开文件失败的bug,我搜索了一下,最后整理成下文以后日后查阅. 一.问题重现 vs2008下创建一个简单win32工程. 使用ANSI编码方式:项目属性页 ->配置属性 ->常规 ->项目默认值 ->字符集中选择"使用多字节字符集". 简单出错代码: #include "stdafx.h" #include <Windows.h> #include <fstream>…
经过亲测, QT(版本: 5.9.4)提供的QImageReader或者函数load在加载本地png图像时,均会提示失败, 按照网上的方法,将Qt plugins下的imageformats 拷贝到exe路径下,也不行. 如果是png图像, 可以通过opencv进行加载,然后将Mat转换为QImage. 但是有一个问题, 当路径为中文路径时, opencv无法加载,需要将中文进行转码: (以下是我收录的两种实现opencv加载中文路径的png图像) 1.. cv::Mat srcImg; QFi…
http://blog.csdn.net/brave_heart_lxl/article/details/7186631 ubun图中文乱码 https://blog.csdn.net/u013007900/article/details/50156115 方法一 QTextCodec * BianMa = QTextCodec::codecForName ( "GBK" ); QMessageBox::information(this, "提示", BianMa-…
由于编码不一样,用unlink()方法删除本地中文名称的材料之前,必须先转码,才能删除成功. 核心代码如下: //删除本地的议题材料(本地上传的材料)             if($local_material_titles){                 foreach ($local_material_titles as $k =>$v){                     $file = Yii::getPathOfAlias('webroot').'/upload/Local…
echo off echo. 清空连接 net use * /del /y echo. 连接 net use \\192.168.1.2\人力资源部\考勤\考勤数据-小莫提供 "密码" /user:"用户名" echo. 复制 --并且-强制覆盖 xcopy "D:\2015Program Files\ZKTeco\att2000.mdb" "\\192.168.1.2\人力资源部\考勤\考勤数据-小莫提供" /Y /S /E…
CentOS个人目录下中文路径转英文路径 如果安装了中文版到CentOS之后,root目录及home目录下会出现中文到路径名,如"桌面"."文档","图片 .公共的" ."下载". "音乐"." 视频"等目录,这样在命令行上操作十分到不方便.如何修改,打开终端,在终端下输入命令: export LANG=en_US xdg-user-dirs-gtk-update 这个时候会弹出一个配置…
安装Maven后我们会在用户目录下发现.m2 文件夹.默认情况下,该文件夹下放置了Maven本地仓库.m2/repository.所有的Maven构件(artifact)都被存储到该仓库中,以方便重用.但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径.     修改方式如下:     手动创建本地仓库的存放路径,例如:D:\Java\m2\repository:     在windows的环境变量中增加了新的用户变量M2_…
Atitit.url 汉字中文路径  404 resin4 resin  解决  v2 q329 1. Pluginx机制1 2. Code1 3. 参考4 1. 原理 过滤器  ,,拦截jpg  with %的url...read img ,直接输出.. 2. Pluginx机制 //if() if(inied==false ||  new File("c:\\chinese_filename_hook_ini_pertime").exists()) { new Pluginx().…
使用ckfinder上传的文件如果是中文路径,下载的时候会找不到 假如使用tomcat服务器,找到tomcat目录>conf文件夹的server.xml>用查找找到Connector这个 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> 这里的端口应该与项目使用的端口一致…
解决 git 中文路径显示 unicode 代码的问题 当被修改的文件中带有中文字符时,中文字符会被转换为 unicode 代码,看不出原来的文件名. 这时,只要配置 :: git config --global core.quotepath false git 就不会就不会对路径进行转换,显示原来完整的中文路径名.…
之前写过一个 关于 MAXScript 中文路径返回上级目录 的博文 今天无意中发现了一个更简单的方法 代码如下: fn newfile filepath = ( nf = getfilenamepath filepath nf[nf.count] = "" nf ) --返回上级路径 newpath "D:\Program Files\Autodesk\3ds Max 2014\小一\工具" 这样确实比以前清爽多了…
一.Maven的下载安装配置 1.1.下载 官网 http://maven.apache.org/download.cgi 1.2.安装配置 apache-maven-3.3.3-bin.zip 解压下载的压缩包 1.3.配置环境变量 配置环境变量(需要先配置好%JAVA_HOME%环境变量): 查看是否配置成功: 二.本地仓库 2.1.默认本地仓库在 系统当前用户目录下.m2下 Maven缺省的本地仓库路径为${user.home}/.m2/repository. 本地仓库是远程仓库的一个缓冲…
我的前台页是这样的: <body>      <form action="test.action" method="post">          测试文件:<input type="file" id="doc" name="path" value=""/>          <input type="submit" valu…
本帖最后由 狂人阿川 于 2013-4-12 19:13 编辑 今天在给一美国VPS客户调试他的程序的时候.发现他的网站有中文名称.貌似apache无法认识中文路径,火狐下面能下载他的文件,IE下面不行.....只有自己动手解决,解决方法很简单,但是你如果按照网上搜索的那些货儿捣鼓的话.可能会遇到各种问题..阿川今天捣鼓一篇比较全面的错误解决办法..方便大家参考.生产环境是centos+LNMPA一键包(一键包来源:www.lnmp.org)下载iconv_hook和mod_encoding的R…
最近用SQLITE作为数据库,发现,如果直接传递带中文路径或文件名的数据库,会导致无法打开数据库的情况.看了一下SQLITE的源码,才发现,原来SQLITE中是用UTF8编码进行文件打开操作的. 所以,在传递文件名的时候,需要先进行编码.在DELPHI中,用以下的函数就可以. function TranslateDBFile(Str: string): string;var  tmp: UTF8String;  l: Integer;  l_WideString: PWideChar;  l_L…
今天重新整理了磁盘文件后 使用qt发现编译不过 提示找不到工程的pro文件 原因:我把原来的qt工作目录删掉了 导致qt默认找“我的文档” 作为工作目录 而中文路径导致了这个问题,MARK之 /// 如果用C函数打开文件 即使用非QT5库的字符串 /// toLocal8Bit或者toUtf16来转换窄字符和宽字符 /// QT5内部都是utf8处理所有通过QT5获取的中文目录本身就是UTF-8格式 /// QT系统可以识别 但非QT库函数不能识别 /// 以上,QT5所遵循的原则就是,进入QT…
这几天有个项目需要写一点类似于脚本的小程序,就用Python写了,涉及到中文路径和中文输出的问题,整理一下. 有一个问题我觉得需要先强调一下,在写Python程序的时候,一定保证编码是utf-8,然后在每个文件的首部加上# coding=utf-8,这是一个避免出问题的好习惯. 1.中文路径 Windows下的中文路径,Python是能够自动识别的,所以不需要特别强调. 如果需要通过浏览对话框选取文件或目录,可导入如下包 import tkFileDialog 然后调用函数(比如tkFileDi…
问题:IE6额外地除了中文路径外,对于png24的支持度不高,以致于无法透明. 解决方法1,png8 替换: png8 比 png24 小,质量较低,但是在这里可以替代,以解决问题. 使用 ps 打开 png24,存储为 Web 格式,选择png8 保存,然后使用. 解决方法2,js 处理: 在页面引入外部js文件,然后写一点简单代码处理该问题. 写在 </body> 的上面. <!-- 引入外部js文件 --> <script type="text/javascr…
不知道各位小伙伴有没有在开发遇到一个问题,就是在线上的项目使用后台返回本地图片路径,然后加载不上的情况呢? 我的解决方法就是:先在项目的data下定义好这样一个数组用于存放需要加载的路径 [ {name:"张山" url:require(./img/zhangshan.png)} , {name:"李四" url:require(./img/zhangshan.png)} , {name:"老王" url:require(./img/zhangs…
在maven文件下的settings.xml中添加<localRepository>F:\cppdy\repo</localRepository>(本地仓库路径)…
https://blog.csdn.net/yuehaiyang/article/details/4184198 如果数据库所在的路径是中文路径的话,根本运行不起来,会报错,因为sqlite用的是utf8编码. 解决办法:AnsiToUtf8() 例如: DBPath := ExtractFilepath(application.exename)+ 'MyInfo.db';  gdb := TSQLiteDatabase.Create(AnsiToUtf8(DBPath)); 这样就不会出错了.…
昨天在用python脚本处理文件的时候,遇到了题述问题,明明文件时存在的,但是在用os.path.isfile(imgpath) == False进行判断的时候总是成立,在一开始以为是正反斜杠windows与linux不同导致的,后来发现时因为中文路径造成的. 在网上查阅了解决办法如下: imgpath = unicode(imgpath, "utf8") 利用上述语句将imgpath的编码进行转换,然后再进行判断以及后续的图片读取(使用cv2模块)就都没有问题了.…