Linux 解决Vi输入中文乱码的问题

在VPS 中, 有时vi 打开一个文件中, 中文会显示乱码, 用locale 查看如下,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
➜  ~ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

其实vi中输入中文乱码与上述系统语言编码无关,是vi自身的环境变量设置出了问题, 解决办法如下

1
2
3
~ vi .viminfo  # ubuntu 18
encoding=latin1#修改成下面
encoding=utf-8

macOS 设置单个应用语言方法

​ 最近使用 Office 时候发现了一个问题,由于电脑设置默认语言为英文。Office也会自动切换为英文语言。想单独改Office为中文版。找了一圈没找到方法,搜索了半天,发现很多人无法解决,要么就是修改电脑默认语言,还好最后在Office官网找到了一个答案。

关于office 语言修改

Read more

获取小程序的openid与unionid

需要发布的小程序基本都要用到openid,这里保存一下自己的代码。
一种是不需要服务器的,通过微信提供的接口简单获取openid;一种是有服务器的情况下,获取openid和一些加密的信息,如unionid。

简单获取openid

这里的简单获取,是指调试的时候可以使用,正常的情况应该是通过服务器来获取
Read more

VPS 安全措施

一个部署在公网的VPS, 面临不断的网络扫描和攻击, 可以参考如下步骤.

1. 配置SSH安全访问密钥,关闭密码登录

a.参考SecureCRT密钥连接Linux,使用SecureCRT在本机生成公私密钥
b.在VPS对应的用户目录下,新建.ssh文件夹,并上传公钥,然后更名为authorized_keys,并修改权限,如下

Read more

Pyhton 去掉字符串前边的u

在用json.load导入json 格式的文件的时候, 打印出来的dict, 会显示的是unicode 编码形式, 下面一种方法可以利用检测编码的形式把u去掉.

1
2
3
4
5
6
7
8
9
10
11
for i in range(len(colnames)):
print type(rowData[i])
if type(rowData[i]) == float :#如果是字符串类型,则进行编码
print colnames[i]
eachRowData[colnames[i].encode('ascii')] = rowData[i]
#.encode('raw_unicode_escape')
elif type(rowData[i]) == unicode:
eachRowData[colnames[i].encode('ascii')] = rowData[i].encode('ascii')


list.append(eachRowData)

fail2ban阻止SSH暴力破解

引用:fail2ban阻止SSH暴力破解

​ fail2ban是由Python语言开发监控软件,通过监控系统日志的登录信息来调用iptables屏蔽相应登录IP,以阻止某个IP(fail2ban读对应日志文件,Debian/Ubuntu:/var/log/auth.log、CentOS/Redhat:/var/log/secure)不停尝试密码。fail2ban在防御对SSH服务器的暴力密码破解上非常有用。经过网友强烈要求,已经集成到《OneinStack

Read more

XML的有效性的检测

XML文档的结构良好性验证,结构良好的xml文档,需要遵守下面这些规则:

  1. 所有开始标签必须有对应的结束标签
  2. 元素可以嵌套,但是不可以重叠
  3. 有且只能有一个根元素
  4. 属性值必须使用引号
  5. 一个元素不能有两个同样属性名字的属性
  6. 注释不能出现在标签内部
  7. 没有转义的” <” 或者” $”不能出现在元素和属性的字符中

如何检查XML文档良构?

Read more

解决MySQL中文乱码方法

MySQL会出现中文乱码的原因一般为以下几点:

  1. server本身设定问题,例如还停留在latin1
  2. table的语系设定问题(包含character与collation)
  3. 客户端程式(例如php)的连线语系设定问题
Read more

Python批量删除特定后缀名的文件和目录

利用 Python 在日常工作中,删除指定目录已经子目录下的特定后缀的文件名。

Python Version: 2.7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# coding:utf-8
import os
import sys
import os
import shutil

#获取当前路径
def fileDir() :
path = sys.path[ 0 ]
print(path)
#判断为脚本文件还是编译后文件,如果是脚本文件则返回脚本目录,否则返回编件译后的文件路径
if os.path.isdir( path ) :
return path
elif os.path.isfile( path ) :
return os.path.dirname( path )

#获取文件后缀名
def suffix(fileName, *suffixName) :
array = map(fileName.endswith, suffixName)
if True in array :
return True
else :
return False

#删除目录下扩展名为.exe,.bak的文件
def deleteFile() :
target_dir = fileDir()
for root, dir_names, file_names in os.walk(target_dir):
for file in file_names:
target_file = os.path.join(root, file)
if suffix(file, '.doc', '.xls'):
os.remove(target_file)
# 文件夹名字
if file == 'a':
shutil.rmtree(os.path.join(root, dir_names))


if __name__ == '__main__' :
deleteFile()
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×