首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Thinkphp中MySQL按照中文拼音排序问题的处理

背景 由于客户需求,需要按照汉字的首字拼音排序,项目开发中免不了数据的排序问题,排序中又免不了对中文的处理。...php代码是这样的: select * from `project` order by `name`; 原生代码按照汉字排序是这样的: select * from `project` order by...数据查询的时候不管是按添加时间还是按修改时间排序,用户都不满意,领导说:应该按照名字排序嘛,这样用户就可以预见他想要的数据在什么地方了 ?...第二种 修改表结构不修改查询语句: 重点在红框位置,告诉mysql这个字段按照gbk编码处理(也可以是gb2312_chinese_ci) ? ?...效果和第一种方法一样 还有一种我没有验证的方法,网友提供的,大家可以参考下: 如果你使用源码编译MySQL,可以编译MySQL时使用 –with–charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了

2.4K10

Linux下Nginx、MySQL和PHP等应用的日志切割脚本

在Linux中如果应用程序会产生日志,那么就需要考虑日志切割,例如按照固定的大小切割按照日期进行切割等等。...同样,在编译Nginx1.9.0、MySQL5.7.7rc和PHP7后,这三个应用服务都会产生日志,尤其是Nginx进程根据配置文件ngnix.conf记录每条访问记录到access.log中。...这篇文章就是针对Linux下应用使用shell脚本进行分割的描述,该脚本特点是:按天切割、自定义切割出来的日志保留的天数以及记录脚本执行过程和耗时。...下面是脚本nginx_log_backup.sh的具体内容,这里备份的是Nginx日志,其它诸如MySQL、php等Linux应用只要修改脚本对应的日志路径即可。...NUMDAYS=40 # Path of the logs you want backup.You can set it as the nginx log path or the mysql log

8510

Python中的str字符串

split(sep=None,maxsplit=-1) -> str类型的list集合,使用自定义字符来切割字符串    使用自定的字符切割字符串,返回切割后的字符数组sep指定分割字符串,缺省情况下空白符号切割符号...(从左到右切割)    sep切割符号,必须指定将指定字符从左至右切割成,头部,分割符,尾部三部分组成的三元组;如果没有找到分割符,就只返回头部和2个空元素的三元组。 ...默认值为空格符号    width 总宽度fillchar 填充的字符(不能是字符串)  zfill(width)->str #将指定字符按照width宽度居右显示。...按照位置顺序用位置参数替换前面的格式字符串的占位符例如:【“{}:{}”.format(“192.168.61.100”,8888)】  关键字参数或命名参数    位置参数按照序号匹配,关键字参数按照名称匹配例如...【{0:x}】表示按照十六进制数字输出【{0:o}】表示按照八进制数字输出【{0:b}】表示按照二进制数字输出【{0:#b}】中#表示输出数字时,带上精制数的对应表示符号  例如:      其中:192.168.0.1

1.3K30

字符编码与字符串表达式

Java 在处理字符串 String 时,并不是完全按照原始的 char[] 来保存每个字符,对于 65535 之后的字符会启用两个 char 对应一个字符。...具体的规则如下: 1)对于单字节的符号,字节的第一位设为 0,后面 7 位为这个符号的 unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。...2)对于 n 字节的符号(n>1),第一个字节的前 n 位都设为 1,第 n+1 位设为 0,后面字节的前两位一律设为 10。剩下的没有提及的二进制位,全部为这个符号的 unicode 码。...对单字符进行转换之后,字符串传输的时候直接拼接即可,切割的时候则先读取第一位的 1 的数量,来判断后面多少字节都是同一个字的,再进行切割。这样,如果中间有漏字符,也可以发现。...后面 Emoji 兴起后,Mysql 为了兼容之前的版本,不得不新增了一个数据类型 utf8mb4 来支持 4 位的 UTF8,这个功能在 Mysql 5.5.3 中加入。

70610

shell命令基本知识点(下)

特殊符号 *       任意个任意字符 ?      ...   -c 指定第几个字符 sort 排序, -n 以数字排序 -r 反序  -t 分隔符 -kn1/-kn1,n2(-t 不经常用) wc -l 统计行数 -m 统计字符数(统计字符数一般末尾还有$符号用...uniq 去重, -c统计行数 tee 和>(重定向)类似,重定向的同时还在屏幕显示,-a 追加重定向 tr 替换字符,tr ‘a’ ‘b’,大小写替换tr ‘[a-z]’ ‘[A-Z]’ split 切割...: # split -b 100M filename                    //filename按照一份100M去切割(不加单位,默认是bite字节) # split -l 1000 filename...                   //filename按照1000行一份去切割 # split -b 100K filename aaa             //指定切割名字使用aaa开头 [

60970

Nginx学习笔记(五)日志的切割

由于nginx在生成日志的时候是按照文件的地址进行append的追加的,所以我们需要按照一定的规则对nginx日志进行切割切割的好处很显然就是为了更好的查看nginx日志。...那么问题是如何切割日志?nginx没有提供相关的功能,所以我们只能采用我们的办法。 1.写shell脚本进行切割,我们写一个定时器,然后在指定的时间上将日志进行备份。...log rm -f access_${yesterday}.log else echo 'no log file' exit 0 fi 这里要注意的一点是,linux和window回车符号不同...在编写好脚本之后,我们就要写定时任务了,这样就可以定时的去切割日志了。执行crontab进入定时任务编写。...这里我们按每日进行切割 1 12 * * * sh /usr/local/nginx/nginx.sh 按esc,输入wq回车。保存退出之后。

1.7K40

练习题二下

1.3.5 压缩时的提示 Removing leading `/' from member names 把压缩包中的文件最前面的斜线删除 压缩包里的内容 绝对路径>>>相对路径 原因: 解压的时候会按照压缩包内的路径进行解压...# awk -F "[, ]" '{print $3,$6}' oldboy.txt oldboy 31333741 1.4.4 方法四 sed+cut 先用sed将逗号替换为空格,然后再用cut 切割...-d 表示用什么切割,这里指定为空格,-f3,6表示第三和六列。...# MySQL mysql           3306/udp                        # MySQL ncube-lm        1521/tcp               ...所见即所得, 单引号里的内容会原封不动的显示出来 [root@znix ~]# echo '$LANG $(hostname)' $LANG $(hostname) 1.7.2 双引号 会解析里面的特殊符号

80300

Python学习杂记_3_字符串操作的常用方法

name.endswith('d'))  # 是否以d结尾,返回布尔值 print(name.find('sss')) # 查找字符串的索引,找到的话返回第一次出现的索引,找不到返回-1 print('mysql...按给出的顺序输出对应的翻译结果字符,33157 # 观察下面的结果 new_p = str.maketrans('1234567', 'abcdefg') print('ccaegg'.translate(new_p)) st= 'mysql...is db. mysql mysql mysql' print(st.replace('mysql', 'oracle'))  # 替换字符串 name1 = 'zcl,py ,zyz' print(...name1.split(‘,’)) #切割字符串返回一个list,按照你指定的字符串去切割,然后放到一个list里面 #如果你什么都不写的话,按照空格分割,多个空格也算一个 print('1+2+3+4...'.split())  # 切割字符串,返回一个list print('1+2+3\n1+2+3+4'.splitlines())  # 按照换行符分割

48430
领券