gdal中文路径无法打开问题】的更多相关文章

在C#中使用OGR读写矢量数据时,需要引用“using OSGeo.OGR;”. 同时为了处理中文路径和中文字段,需要在开始设置下面两个属性,代码如下: //为了支持中文路径,请添加下面这句代码(大多数情况下不需要这句) //OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","NO"); //为了使属性表字段支持中文,请添加下面这句 OSGeo.GDAL.Gdal.SetConfigOption(&quo…
最近维护一个项目,遇到了ifstream在中文路径下打开文件失败的bug,我搜索了一下,最后整理成下文以后日后查阅. 一.问题重现 vs2008下创建一个简单win32工程. 使用ANSI编码方式:项目属性页 ->配置属性 ->常规 ->项目默认值 ->字符集中选择"使用多字节字符集". 简单出错代码: #include "stdafx.h" #include <Windows.h> #include <fstream>…
众所周知,中文环境下(VS2010 C++工程编码为多字节编码),在使用1.8.0版本以后的GDAL打开中文路径下的影像文件(如GeoTiff文件)时, 需对中文文件路径做特殊处理,有2种方法:(我使用的GDAL库添加了HDF4.HDF5格式支持) (1)临时设置GDAL为本机编码环境 GDALAllRegister(); CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");//设置为非UTF-8编码 GDALDatas…
编译qgis完整项目后,由于Gdal库的原因,中文路径下通过添加矢量数据中数据库中是没有OGR的Oracle数据库功能的: 最开始打算通过重新编译gadl库从内部支持中文的(有成功的麻烦也请告诉我),后来发现其实不用这么麻烦: 网上查找后介绍GDAL添加了对UTF8路径的支持,新增了一个配置项,叫GDAL_FILENAME_IS_UTF8,可以使用下面的语句设为YES或NO,默认为YES! 找到qgis源码中的qgis_core项目中的qgsapplication.cpp代码中的register…
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…
在使用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…
CentOS个人目录下中文路径转英文路径 如果安装了中文版到CentOS之后,root目录及home目录下会出现中文到路径名,如"桌面"."文档","图片 .公共的" ."下载". "音乐"." 视频"等目录,这样在命令行上操作十分到不方便.如何修改,打开终端,在终端下输入命令: export LANG=en_US xdg-user-dirs-gtk-update 这个时候会弹出一个配置…
最近用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…
问题:IE6额外地除了中文路径外,对于png24的支持度不高,以致于无法透明. 解决方法1,png8 替换: png8 比 png24 小,质量较低,但是在这里可以替代,以解决问题. 使用 ps 打开 png24,存储为 Web 格式,选择png8 保存,然后使用. 解决方法2,js 处理: 在页面引入外部js文件,然后写一点简单代码处理该问题. 写在 </body> 的上面. <!-- 引入外部js文件 --> <script type="text/javascr…
在as中新建一个AVD,然而启动时却报错,总之是不能找到中文路径 然后这个虚拟设备被默认安装在了C盘我的用户李敏啊,而我用户名是中文名导致无法识别 解决办法,使用链接文件格式修改虚拟设备配置路径, 比如当前用户为 C://users/张三/ 要更改为zs用户 打开命令窗口,管理员身份 输入如下命令 首先进入到C://users 根路径,然后 mklink  /j   zs   张三 如此,即在users下创建了一个文件夹,且带有快捷键方式 下面只需要将虚拟设备的配hi文件里面的路径更改一下即可…
作者:朱金灿 来源:http://blog.csdn.net/clever101 svn的授权文件authz默认是不支持中文路径的,因此在精确控制中文文件夹的授权时往往会出错.要解决这个问题,需要用UltraEdit(注意不要用记事本或写字板)把authz打开,然后另存在为UTF-8 -无BOM,如下图: 然后把另存在的authz文件覆盖原有的authz文件. 用记事本或写字板打开authz文件后另存为utf8编码的文件的话,文件开头会有windows特有的unicode标记--ef bb bf…
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\小一\工具" 这样确实比以前清爽多了…
我的前台页是这样的: <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…
这几天有个项目需要写一点类似于脚本的小程序,就用Python写了,涉及到中文路径和中文输出的问题,整理一下. 有一个问题我觉得需要先强调一下,在写Python程序的时候,一定保证编码是utf-8,然后在每个文件的首部加上# coding=utf-8,这是一个避免出问题的好习惯. 1.中文路径 Windows下的中文路径,Python是能够自动识别的,所以不需要特别强调. 如果需要通过浏览对话框选取文件或目录,可导入如下包 import tkFileDialog 然后调用函数(比如tkFileDi…
经过亲测, QT(版本: 5.9.4)提供的QImageReader或者函数load在加载本地png图像时,均会提示失败, 按照网上的方法,将Qt plugins下的imageformats 拷贝到exe路径下,也不行. 如果是png图像, 可以通过opencv进行加载,然后将Mat转换为QImage. 但是有一个问题, 当路径为中文路径时, opencv无法加载,需要将中文进行转码: (以下是我收录的两种实现opencv加载中文路径的png图像) 1.. cv::Mat srcImg; QFi…
https://blog.csdn.net/yuehaiyang/article/details/4184198 如果数据库所在的路径是中文路径的话,根本运行不起来,会报错,因为sqlite用的是utf8编码. 解决办法:AnsiToUtf8() 例如: DBPath := ExtractFilepath(application.exename)+ 'MyInfo.db';  gdb := TSQLiteDatabase.Create(AnsiToUtf8(DBPath)); 这样就不会出错了.…
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-…
昨天在用python脚本处理文件的时候,遇到了题述问题,明明文件时存在的,但是在用os.path.isfile(imgpath) == False进行判断的时候总是成立,在一开始以为是正反斜杠windows与linux不同导致的,后来发现时因为中文路径造成的. 在网上查阅了解决办法如下: imgpath = unicode(imgpath, "utf8") 利用上述语句将imgpath的编码进行转换,然后再进行判断以及后续的图片读取(使用cv2模块)就都没有问题了.…
1. 中文路径兼容python程序如果路径中包含中文字符,不加处理会有类似报错:'ascii' codec can't decode byte 0xxx in position xx:ordinal not in range(128) 解决方法: path = unicode(path,'utf-8')2. 文件是否是图像格式判断python中的标准库 imghdr 可以用来判断文件是否是图片, imghdr.what(target) 返回 target 的图片类型,如果不是图片,返回 None…
python直接读取中文路径的文件时失败,可做如下处理: inpath = 'D:/work/yuanxx/在线导航/驾车导航/walk_log/20130619_172355.txt' uipath = unicode(ipath , "utf8") 然后用"uipath"经过编码后的路径去open()即可: fin = open(uipath)…
python 2中对于中文字符的处理可谓是诟病已久,虽然python 3 使用统一编码解决了中文字符串的问题,但在使用opencv中imread函数读取中文路径图像文件时仍会报错. 1) 借助numpy 此时可借助于numpy 先将文件数据读取出来,然后使用opencv中imdecode函数将其解码成图像数据.此方法对python 2 和3均使用. import numpy as np import cv2 fileData = np.fromfile('中文路径及名称.jpg', dtype=…
) ## 经验证,不需要再转bgr,myImread的读图结果已经是和imread一样的 return img…