手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2017年09月的文章

将原数据库从latin1改为utf8

 原来的数据库是N年前的,默认字符集是latin1,但是有一些旧代码中,连接参数写的是UTF8,于是就这样。。。DB字符集为latin1,连接UTF8,存到数据库也是UTF8,wj但查看的时候显示是???

为了标准统一,于是使用mysqldump -uxx -p database a b c d e > dump.sql,将部分表先导出来

然后修改导出sql的charset=latin1;改为charset=utf8;

 

至此,操作完成。简单粗暴 

 

-------EOF--

deeka说,如果有200G呢。目前我是停机处理的。因为要处理的数据也不是很多。如果不是因为升级换库的时候出现不能访问我也不会这么做。

但好象也没有特别好的方案。因为直接alter的时候也是各种不正常。才dump的

New user help: columns vs. columnDefs for client side rendering of AJAX data

 说实话,在datatables里,我觉得这个回复挺重要的!https://datatables.net/forums/discussion/33723/new-user-help-columns-vs-columndefs-for-client-side-rendering-of-ajax-data

 
提问:
XML/HTML代码
  1. Hi,  
  2.   
  3. I'm a beginner with DataTables. I'm trying to use DataTables AJAX to pull records from the server (an ASP.NET MVC app.) Each record coming from the server has name, address line 1, address line 2, city, state, zip. I want my table to combine and format all those fields into one column on the client.  
  4.   
  5. My questions are:  
  6. 1. Would I use columns.render, or columnDefs.render?  
  7. 2. Do I need both columns and columnDefs?  
  8. 3. Do I need to specify either the table column name (e.g., NameAndAddress) in "columns", or do I need to list each field coming back from the server?  
  9. 4. How do I use "targets"? Does "targets" refer to the column in the displayed table, or the column under "columns"?  
  10.   
  11. Thanks for your help. I've been though the documentation a few times and I'm still confused about columns vs. columnDefs.  
回答:
 

"columns" & "columnsDefs" ultimately serve the same purpose.

The differences being:

  1. "columns" requires you to provide a configuration or null for all columns. "columnDefs" requires you to only proved configuration for columns that have "special" configurations
  2. I have found "columns" best used if handling array of strings as your rows. I have found "columnDefs" best used if handling objects as your rows

"targets" takes a single string or int value, or array of previous two to denote which columns this configuration is for. I suggest using column class instead of column # in the event you want to use ColReorder extension.

Here are examples of how I have configured columns in my application.

HTML:
XML/HTML代码
  1. <th class="actionsCol no-print">Actions</th>  
  2. <th class="StatusCol">Status</th>  
  3. <th class="IsFinalCol">Final<br>Plan</th>  
  4. <th class="VrsnCol">Vrsn</th>  
  5. <th class="CutCntCol">Cut<br>Cnt</th>  
  6. <th class="CarCntCol">Car<br>Cnt</th>  
JS关键代码:
JavaScript代码
  1. "columnDefs": [  
  2.                {  
  3.                     // This is for the Action column icons  
  4.                     "targets"'actionsCol',  
  5.                     "sorting"false,  
  6.                     "orderable"false,  
  7.                     "type":"html",  
  8.                     "width""8%",  
  9.                     className: "dt_nowrap_col no-print",  
  10.                     "render"function (data, type, row) {  
  11.                         return $.jqote(yv.templates.action_icons, data);  
  12.                     }  
  13.                 },  
  14.                 {  
  15.                     "targets": ['IsFinalCol','CutCntCol','CarCntCol','VrsnCol','StatusCol'],  
  16.                     "width""5%"  
  17.                 },  
  18. etc  
  19. ]  
 
看到这些定义,估计你应该能够想得出如何更好的应用了吧?
----EOF---
 
其他参考 :
https://datatables.net/reference/option/columns.render#Examples
 

datatables的一些常用的玩意

datatables现在也开始逐步用的多了。虽然用起来复杂了一点,但好歹还能减少一些开发量

1、语言包,这个就不用说了,直接找个中文语言包即可(就是有些用插件的要注意一下,还是多写)
 
2、表格居中居右,这些不太好控制 ,但可以在每个columns里定义一个:sClass,这时候你就想怎么样就行了。例
{data:"xxx",sClass:"text-right"}
然后你加一个样式.text-right{text-align:right}
轻轻松松
 
3、POST,默认datables的数据是用GET请求,如果你参数过多,会造成GET参数过长的问题,这时候就只能用POST了。只是用了POST,数据就没有缓存了(可以用cache自己处理,但是麻烦)
 
4、columns的render可以写自定义事件。能封装起来一起用是最好的,毕竟每个页面的每个表格的Render都有可能会复用,要是每个地方都写同一份就太累了
 
5、事件,这一块说容易 也容易 也麻烦也麻烦。还是根据实际情况吧。反正你只要 保持你在Render的时候将每行数据的主键写出来,到时候想怎么处理都OK

常用CURL操作

 纯转,勿喷,主要还是有时候会忘记。虽然-x -d -H -o 之类的都记得。。。原文来自:http://blog.51yip.com/linux/1049.html

 
 
linux curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。
一,curl命令参数,有好多我没有用过,也不知道翻译的对不对,如果有误的地方,还请指正。
XML/HTML代码
  1. -a/--append 上传文件时,附加到目标文件    
  2.  -A/--user-agent <string>  设置用户代理发送给服务器    
  3.  - anyauth   可以使用“任何”身份验证方法    
  4.  -b/--cookie <namename=string/file> cookie字符串或文件读取位置    
  5.  - basic 使用HTTP基本验证    
  6.  -B/--use-ascii 使用ASCII /文本传输    
  7.  -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中    
  8.  -C/--continue-at <offset>  断点续转    
  9.  -d/--data <data>   HTTP POST方式传送数据    
  10.  --data-ascii <data>  以ascii的方式post数据    
  11.  --data-binary <data> 以二进制的方式post数据    
  12.  --negotiate     使用HTTP身份验证    
  13.  --digest        使用数字身份验证    
  14.  --disable-eprt  禁止使用EPRT或LPRT    
  15.  --disable-epsv  禁止使用EPSV    
  16.  -D/--dump-header <file> 把header信息写入到该文件中    
  17.  --egd-file <file> 为随机数据(SSL)设置EGD socket路径    
  18.  --tcp-nodelay   使用TCP_NODELAY选项    
  19.  -e/--referer 来源网址    
  20.  -E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)    
  21.  --cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)    
  22.  --key <key>     私钥文件名 (SSL)    
  23.  --key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)    
  24.  --pass  <pass>  私钥密码 (SSL)    
  25.  --engine <eng>  加密引擎使用 (SSL). "--engine list" for list    
  26.  --cacert <file> CA证书 (SSL)    
  27.  --capath <directory> CA目录 (made using c_rehash) to verify peer against (SSL)    
  28.  --ciphers <list>  SSL密码    
  29.  --compressed    要求返回是压缩的形势 (using deflate or gzip)    
  30.  --connect-timeout <seconds> 设置最大请求时间    
  31.  --create-dirs   建立本地目录的目录层次结构    
  32.  --crlf          上传是把LF转变成CRLF    
  33.  -f/--fail          连接失败时不显示http错误    
  34.  --ftp-create-dirs 如果远程目录不存在,创建远程目录    
  35.  --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用    
  36.  --ftp-pasv      使用 PASV/EPSV 代替端口    
  37.  --ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址    
  38.  --ftp-ssl       尝试用 SSL/TLS 来进行ftp数据传输    
  39.  --ftp-ssl-reqd  要求用 SSL/TLS 来进行ftp数据传输    
  40.  -F/--form <namename=content> 模拟http表单提交数据    
  41.  -form-string <namename=string> 模拟http表单提交数据    
  42.  -g/--globoff 禁用网址序列和范围使用{}和[]    
  43.  -G/--get 以get的方式来发送数据    
  44.  -h/--help 帮助    
  45.  -H/--header <line>自定义头信息传递给服务器    
  46.  --ignore-content-length  忽略的HTTP头信息的长度    
  47.  -i/--include 输出时包括protocol头信息    
  48.  -I/--head  只显示文档信息    
  49.  从文件中读取-j/--junk-session-cookies忽略会话Cookie    
  50.  - 界面<interface>指定网络接口/地址使用    
  51.  - krb4 <级别>启用与指定的安全级别krb4    
  52.  -j/--junk-session-cookies 读取文件进忽略session cookie    
  53.  --interface <interface> 使用指定网络接口/地址    
  54.  --krb4 <level>  使用指定安全级别的krb4    
  55.  -k/--insecure 允许不使用证书到SSL站点    
  56.  -K/--config  指定的配置文件读取    
  57.  -l/--list-only 列出ftp目录下的文件名称    
  58.  --limit-rate <rate> 设置传输速度    
  59.  --local-port<NUM> 强制使用本地端口号    
  60.  -m/--max-time <seconds> 设置最大传输时间    
  61.  --max-redirs <num> 设置最大读取的目录数    
  62.  --max-filesize <bytes> 设置最大下载的文件总量    
  63.  -M/--manual  显示全手动    
  64.  -n/--netrc 从netrc文件中读取用户名和密码    
  65.  --netrc-optional 使用 .netrc 或者 URL来覆盖-n    
  66.  --ntlm          使用 HTTP NTLM 身份验证    
  67.  -N/--no-buffer 禁用缓冲输出    
  68.  -o/--output 把输出写到该文件中    
  69.  -O/--remote-name 把输出写到该文件中,保留远程文件的文件名    
  70.  -p/--proxytunnel   使用HTTP代理    
  71.  --proxy-anyauth 选择任一代理身份验证方法    
  72.  --proxy-basic   在代理上使用基本身份验证    
  73.  --proxy-digest  在代理上使用数字身份验证    
  74.  --proxy-ntlm    在代理上使用ntlm身份验证    
  75.  -P/--ftp-port <address> 使用端口地址,而不是使用PASV    
  76.  -Q/--quote <cmd>文件传输前,发送命令到服务器    
  77.  -r/--range <range>检索来自HTTP/1.1或FTP服务器字节范围    
  78.  --range-file 读取(SSL)的随机文件    
  79.  -R/--remote-time   在本地生成文件时,保留远程文件时间    
  80.  --retry <num>   传输出现问题时,重试的次数    
  81.  --retry-delay <seconds>  传输出现问题时,设置重试间隔时间    
  82.  --retry-max-time <seconds> 传输出现问题时,设置最大重试时间    
  83.  -s/--silent静音模式。不输出任何东西    
  84.  -S/--show-error   显示错误    
  85.  --socks4 <host[:port]> 用socks4代理给定主机和端口    
  86.  --socks5 <host[:port]> 用socks5代理给定主机和端口    
  87.  --stderr <file>    
  88.  -t/--telnet-option <OPTOPT=val> Telnet选项设置    
  89.  --trace <file>  对指定文件进行debug    
  90.  --trace-ascii <file> Like --跟踪但没有hex输出    
  91.  --trace-time    跟踪/详细输出时,添加时间戳    
  92.  -T/--upload-file <file> 上传文件    
  93.  --url <URL>     Spet URL to work with    
  94.  -u/--user <user[:password]>设置服务器的用户和密码    
  95.  -U/--proxy-user <user[:password]>设置代理用户名和密码    
  96.  -v/--verbose    
  97.  -V/--version 显示版本信息    
  98.  -w/--write-out [format]什么输出完成后    
  99.  -x/--proxy <host[:port]>在给定的端口上使用HTTP代理    
  100.  -X/--request <command>指定什么命令    
  101.  -y/--speed-time 放弃限速所要的时间。默认为30    
  102.  -Y/--speed-limit 停止传输速度的限制,速度时间'秒    
  103.  -z/--time-cond  传送时间设置    
  104.  -0/--http1.0  使用HTTP 1.0    
  105.  -1/--tlsv1  使用TLSv1(SSL)    
  106.  -2/--sslv2 使用SSLv2的(SSL)    
  107.  -3/--sslv3         使用的SSLv3(SSL)    
  108.  --3p-quote      like -Q for the source URL for 3rd party transfer    
  109.  --3p-url        使用url,进行第三方传送    
  110.  --3p-user       使用用户名和密码,进行第三方传送    
  111.  -4/--ipv4   使用IP4    
  112.  -6/--ipv6   使用IP6    
  113.  -#/--progress-bar 用进度条显示当前的传送状态    
二,常用curl实例
1,抓取页面内容到一个文件中
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -o home.html  http://blog.51yip.com    
2,用-O(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -O http://blog.51yip.com/wp-content/uploads/2010/09/compare_varnish.jpg    
  2. [root@krlcgcms01 mytest]# curl -O http://blog.51yip.com/wp-content/uploads/2010/[0-9][0-9]/aaaaa.jpg    
3,模拟表单信息,模拟登录,保存cookie信息
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php    
 
4,模拟表单信息,模拟登录,保存头信息
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php    
  2.  
-c(小写)产生的cookie和-D里面的cookie是不一样的。  
5,使用cookie文件
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -b ./cookie_c.txt  http://blog.51yip.com/wp-admin    
6,断点续传,-C(大写的)
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -C -O http://blog.51yip.com/wp-content/uploads/2010/09/compare_varnish.jpg    
7,传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -d log=aaaa  http://blog.51yip.com/wp-login.php    
8,显示抓取错误,下面这个例子,很清楚的表明了。
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -f http://blog.51yip.com/asdf    
  2. curl: (22) The requested URL returned error: 404    
  3. [root@krlcgcms01 mytest]# curl http://blog.51yip.com/asdf    
  4.     
  5. <HTML><HEAD><TITLE>404,not found</TITLE>    
  6. 。。。。。。。。。。。。    
9,伪造来源地址,有的网站会判断,请求来源地址。
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -e http://localhost http://blog.51yip.com/wp-login.php    
10,当我们经常用curl去搞人家东西的时候,人家会把你的IP给屏蔽掉的,这个时候,我们可以用代理
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html http://blog.51yip.com    
11,比较大的东西,我们可以分段下载
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 http://blog.51yip.com/wp-    
  2.     
  3. content/uploads/2010/09/compare_varnish.jpg    
  4.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current    
  5.  Dload  Upload   Total   Spent    Left  Speed    
  6. 100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0    
  7. [root@krlcgcms01 mytest]# curl -r 100-200 -o img.part2 http://blog.51yip.com/wp-    
  8.     
  9. content/uploads/2010/09/compare_varnish.jpg    
  10.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current    
  11.  Dload  Upload   Total   Spent    Left  Speed    
  12. 100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0    
  13. [root@krlcgcms01 mytest]# curl -r 200- -o img.part3 http://blog.51yip.com/wp-    
  14.     
  15. content/uploads/2010/09/compare_varnish.jpg    
  16.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current    
  17.  Dload  Upload   Total   Spent    Left  Speed    
  18. 100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961    
  19. [root@krlcgcms01 mytest]# ls |grep part | xargs du -sh    
  20. 4.0K    one.part1    
  21. 112K    three.part3    
  22. 4.0K    two.part2    
用的时候,把他们cat一下就OK了,cat img.part* >img.jpg
12,不会显示下载进度信息
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -s -o aaa.jpg  http://blog.51yip.com/wp-content/uploads/2010/09/compare_varnish.jpg    
13,显示下载进度条
XML/HTML代码
  1. [root@krlcgcms01 mytest]# curl -# -O  http://blog.51yip.com/wp-content/uploads/2010/09/compare_varnish.jpg    
  2. ######################################################################## 100.0%    
14,通过ftp下载文件
XML/HTML代码
  1. [zhangy@BlackGhost ~]$ curl -u 用户名:密码 -O http://blog.51yip.com/demo/curtain/bbstudy_files/style.css    
  2.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current    
  3.  Dload  Upload   Total   Spent    Left  Speed    
  4. 101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --:--:--  7136    
或者用下面的方式
XML/HTML代码
  1. [zhangy@BlackGhost ~]$ curl -O ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/style.css    
15,通过ftp上传
XML/HTML代码
  1. [zhangy@BlackGhost ~]$ curl -T test.sql ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/    
---EOF---
转的我好累