创建非英语目录我希望能够在自己的名字创建了注册用户的文件夹。他们的信息以西里尔字符存储在我的数据库中,并在创建文件夹时从他们的信息中提取。问题是,如果信息是英文的,一切都可以,如果在西里尔语里我有类似于Кульчманова的东西。一切都设置为utf-8。如果我将文件夹名称设置为'фыва',则创建它没有问题。在PHP
$this->load->model('users_model');
$i=$this->session->userdata('uid');
$new_name=$this->input->post('doc_name');
$folder=$this->users_model->getFullName($i); //$folder='фыва' works fine
if(!is_dir("./uploads/".$folder)){
mkdir("./uploads/".$folder , 0777);
}
$config['file_name'] = $new_name;
$config['upload_path'] = './uploads/'.$folder.'/';
会感谢所有帮助
我真的劝你,而不是使用一些UTF-8字符串的文件夹名称的UID。 – halfdan
CodeIgniter数据库模块在MySQL中处理不同的排序规则吗?多字节的东西在PHP中不是自动的,如果它没有正确处理它,它会做这样的事情。 – Orbling
你在哪个平台上? Windows文件名的惯例可能很奇怪,而且任何平台上都没有标准编码。 – phihag