Can’t convert string from native encoding to ‘UTF-8’

问题: 执行命令svn status 出现提示下面提示信息

svn: E000022: Error converting entry in directory '/wwwroot/test_ks/Application/M/View/default/Ac' to UTF-8
svn: E000022: Can't convert string from native encoding to 'UTF-8':
svn: E000022: lists - ?\229?\137?\175?\230?\156?\172.html

描述: 之前是没有问题的可以操作都是正常, 不知道什么原因突然就出现这个问题. 导致服务器上的svn库无法update等操作.

通过操作su切换到超级用户的时候显示正常, 然后再重新切换回普遍用户这个时候svn操作命令则都正常.但是用普通用户重新连接则又不正常了.

连接第二台服务器, 则无这个问题.


解决: export LC_ALL= (普遍用户执行命令)把变量重置为空 这样也可以无需编辑其他的任何文件重新连接也生效

设置后-使用命令 locale查看

LANG=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=

设置前(有问题时状态)-使用命令 locale查看

LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

php压缩文件

批量压缩文件不递归压缩文件夹, 压缩完毕后清理原始文件.

php将文件夹打包成zip文件

function addFileToZip($path,$zip){
    $handler=opendir($path); //打开当前文件夹由$path指定。
    while(($filename=readdir($handler))!==false){
        if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
            if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归
                addFileToZip($path."/".$filename, $zip);
            }else{ //将文件加入zip对象
                $zip->addFile($path."/".$filename);
            }
        }
    }
    @closedir($path);
}

$zip=new ZipArchive();
if($zip->open('images.zip', ZipArchive::CREATE)=== TRUE){
    addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
    $zip->close(); //关闭处理的zip文件
}

不递归压缩路径文件夹

$zip = new ZipArchive();

if($zip->open('asds.zip')===true){

    $zip->addFile('./Public/Uploads/zip/123.zip', '456.zip'); // 就是这里

}

清空原始文件

// 来源于onethink-dir_delete函数
if (!is_dir($dir)) return FALSE; 
$handle = opendir($dir); //打开目录
while(($file = readdir($handle)) !== false) {
        if($file == '.' || $file == '..')continue;
        $d = $dir.DIRECTORY_SEPARATOR.$file;
        is_dir($d) ? dir_delete($d) : @unlink($d);
}
closedir($handle);
return @rmdir($dir);

相关资料

php将文件夹打包成zip文件
PHP 压缩包详细操作(ZipArchive)

InnoDB: Attempted to open a previously opened tablespace

基于docker下的mysql, 一直运行的好好的, 而且早上也还运行正常 突然下午mysql就停止无法启动了.


  1. Open my.ini (my.cnf on linux-based systems and Mac)
  2. Look for [mysqld]
  3. Just below [mysqld] insert innodb_force_recovery = 1
  4. Start MySQL Service
  5. Stop MySQL Service
  6. Remove the line from my.ini (innodb_force_recovery = 1)
  7. Start MySQL Service

相关资料

InnoDB: Attempted to open a previously opened tablespace

微信小程序 template添加绑定事件

template.wxml

<view bindtap="clickView" class="tempClass">temp模板</view>

template.js

var temp = {
 clickView: function () {
  console.log("刚刚您点击了temp")
 }
}
export default temp

index.js

const App = getApp()
import tempObj from '../temp/temp'

//index.js
//获取应用实例
var indexObj = {
 onShow() {
  console.log("onShow")
 }
}
indexObj["clickView"] = tempObj.clickView
Page(indexObj)

相关资料

详解微信小程序 template添加绑定事件