make_smbcodepage - 为Samba创建代码页文件
总览
make_smbcodepage c|d 代码页 输入文件 输出文件
描述
这个工具是是Samba组件的一部分。
针对Samba 2.2的国际化功能,使用make_smbcodepage可以编译或反编译代码页文件。
选项
- c|d
- 使用c把一个文本格式的代码页文件编译成二进制格式;使用d把一个二进制格式的代码页反编译成文本格式。
- 代码页
- 选用的代码页(一个数字,如850)。
- 输入文件
- 待处理的输入文件。在使用c选项时,它是文本格式的代码页预定义文件,这些文件可以在Samba包的source/codepages 目录中找到;在使用d选项时,它是二进制格式的代码页文件,通常,这些文件保存在Samba安装路径的lib/codepages目录的。
- 输出文件
- 程序产生的输出文件。
Samba的代码页文件
文本格式的代码页定义文件描述了在指定DOS代码页大于127的字符中是如何把大写转换为小写的。要注意的是,在某些DOS代码页中 (如437),大小写之间的映射并不一定对称。例如,在代码页437中,当进行小写到大写的映射时,把带有撇形(')重音符号的a转换为不带重间符号的明文大写字母A,而当进行大写到小写映射时,则把字母A直接转换为字母a而不带重间符号。
而二进制代码页定义文件则是相同信息的二进制表示,同时包含一个值,用来说明所描述的代码页。
因为Samba还没有使用UNICODE码,所以如果你希望在特殊的语言环境中不区分大小写的话,就要为DOS和Windows客户端指定所用的代码页。 Samba所用的缺省代码页是850(西欧语)。同时,Samba发布还提供了文本格式的样本代码页文件,包含437(美语)、737(希腊语)、850(西欧语)、852(MS-DOS 拉丁2)、861(冰岛语), 866 (斯拉夫语)、932 (日语)、936(简体中文)、949(韩文)和950(繁体中文)。我们鼓励用户为自己的代码页编写文本格式的定义文件,并把它捐款给samba@samba.org。当你执行'make install'命令时,source/codepages目录中的所有代码页文件都会被编译并安装到系统上。
在smb.conf文件中配置了client code page选项之后, smbd服务器就可以使用客户代码页了。
相关文件
codepage_def.<codepage>
这是Samba源代码包提供的用于输入的文本代码页文件,它们保存在 source/codepages目录中。
在这些文本格式的代码页定义文件中,每一行都包含了四个字段:
- *
- lower:小写字符的十六进制值。
- *
- upper:上述小写字符所对应的大写字符十六进制值。
- *
- map upper to lower:这是个布尔量(True或False二者选一)。用来说明在对一个文件名进行小写处理时,是否让Samba将其中的大写字符映射成小写字符。
- *
- map lower to upper:这是个布尔量(True或False二者选一)。用来说明在对一个文件名进行大写处理时,是否让Samba将其中的小写字符映射成大写字符。
codepage.<codepage> 这是Samba产生的输出二进制代码页文件,它们保存在Samba安装目录的 lib/codepage中。
安装
服务器及相关支持文件的保存位置决定于系统管理员,以下只是建议:
我们推荐把make_smbcodepage程序安装到/usr/local/samba 路径下的一个目录中,这个目录应该具有只有root可写,所有人都可读的权限。这个程序本身应该让所有用户都可执行,而不应该执行suid或sgid 操作。
make_smbcodepage - 为Samba创建代码页文件的更多相关文章
- 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器
引入: 在我们昨天架设好了Samba服务器上并且创建了一个 Samba 账户后,我们就迫不及待的想用JAVA去操作Samba服务器了,我们找到了一个框架叫 jcifs,可以高效的完成我们工作. 实践: ...
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bug来源: 一直在看sift然后就手贱的给 opencv源码做注释,如果在vs里面打开会一直相安无事,但是问题出在我用了notepad++. 这样就报了标题的错误. 因为notepad++会以uni ...
- warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
------问题-------------------- Qt项目使用 VC++ 编译器出现此错误. warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 ...
- Xml文件汉化后改变代码页
源Xml文件代码页为ansi,汉化后要转换为UTF-8,在网上搜素了以下结果,但解释的不都清楚,我找了好一阵才找到相应的操作. 为防止自己以后忘了,补充如下: 经过这样的设置,生成的汉化xml文件 ...
- vs2015下C4819该文件包含不能在当前代码页(936)中表示的字符问题解决
今天编译IfcOpenshell出现很多warning如下: C4819 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失 解决方案: 文件——& ...
- [采坑] VS2015 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
问题: Visual Studio 2015出现warning C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失. 解决方案: 1. ...
- WCSTOMBS 函数不支持中文件的解决方法(设置代码页)
代码页没有进行设置.需要调用locale.h 中定义的一个函数设置默认的代码页 _tsetlocale(LC_ALL,_T(""));//设置代码页 wcstombs(sendB ...
- Nodejs之MEAN栈开发(七)---- 用Angular创建单页应用(下)
上一节我们走通了基本的SPA基础结构,这一节会更彻底的将后端的视图.路由.控制器全部移到前端.篇幅比较长,主要分页面改造.使用AngularUI两大部分以及一些优化路由.使用Angular的其他指令的 ...
- Nodejs之MEAN栈开发(六)---- 用Angular创建单页应用(上)
在上一节中我们学会了如何在页面中添加一个组件以及一些基本的Angular知识,而这一节将用Angular来创建一个单页应用(SPA).这意味着,取代我们之前用Express在服务端运行整个网站逻辑的方 ...
随机推荐
- 根据linux自带的JDK,配置JAVA_HOME目录
在配置hadoop是,进行格式化hadoop的时候,出现找不到jdk 我用centos6.5是64位的, 发现本机有java ,就找了一下其位置 找到了jdk-1.7.0_75 which java ...
- 配置 Hive On Tez
配置 Hive On Tez 标签(空格分隔): hive Tez 部署底层应用 简单介绍 介绍:tez 是基于hive 之上,可以将sql翻译解析成DAG计算的引擎.基于DAG 与mr 架构本身的优 ...
- Long类源码浅析
1.Long类和Integer相类似,都是基本类型的包装类,类中的方法大部分都是类似的: 关于Integer类的浅析可以参看:Integer类源码浅析 2.这里主要介绍一下LongCache类,该缓存 ...
- js中的 for, for in, for of foreach,filter使用
下面是对数组进行循环 var array = [ { id: , name: 'ohzri', birth: '1999.09.09', city: '湖北', salary: }, { id: , ...
- leetcode-mid-sorting and searching-34 Search for a Range
mycode 63.98% class Solution(object): def searchRange(self, nums, target): """ :typ ...
- 64位ubuntu下安装ia32-libs
echo "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse" &g ...
- VS2008重置默认环境
Microsoft Visual Studio 2008 -> Visual Studio Tools -> Visual Studio 2008命令提示 进入Common7\IDE,然后 ...
- http-server 建立 HTTPS 服务
1. 创建证书 进入要建立 HTTPS 服务的目录 openssl genrsa -out key.pem 1024 openssl req -new -key key.pem -out csr.pe ...
- Spring Cloud的几个组件
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现.服务消费.负载均衡.断路器.智能路由.配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统.一个简答的微服务系统如下图: ...
- Django 实现分库
网站后端的数据库随着业务的不断扩大,用户的累积,数据库的压力会逐渐增大.一种办法是优化使用方法,也就是的优化 SQL 语句啦,添加缓存以达到减少存取的目的:另外一种办法是修改使用架构,在数据库层面上「 ...