我正在使用此方法将法语转换为英语。当我从我的html表单中获得法语字符时,它的效果很好。但我必须上传包含法文字符的csv文件。它在上传csv文件时没有转换。在php中上传为csv文件时将法语转换为英文
这是我的代码,同时上传CSV
function UploadQuiz(){
$row =& $this->getTable('quiz');
$fileName='uploadFile';
$fileName=$_FILES['uploadFile']['tmp_name'];
$f = fopen($fileName,"r");
$success_counter=0; $failure_counter=0;
while (($data = fgetcsv($f, 10000, ",")) !== FALSE){
//perform string escapes so data is entered into database correctly
$quiz_question = $data[0];
$option_a = $data[1];
$option_b = $data[2];
$option_c = $data[3];
$option_d = $data[4];
$option_e = $data[5];
$quiz_answer = $data[6];
$quiz_explanation = $data[7];
$quiz_difficulty = $data[8];
$chapter_id = $data[9];
$chapter=$this->check_chapter_id_exist($this->_data['course_id'],$chapter_id);
if(!$chapter->chapter_id){
$failure_counter++;
continue;
}
$data['quiz_id'] = '';
$data['course_id'] = $this->_data['course_id'];
$data['quiz_question'] = $this->_convertgsm->convertgsm($quiz_question);
$data['quiz_optionA'] = $this->_convertgsm->convertgsm($option_a);
$data['quiz_optionB'] = $this->_convertgsm->convertgsm($option_b);
$data['quiz_optionC'] = $this->_convertgsm->convertgsm($option_c);
$data['quiz_optionD'] = $this->_convertgsm->convertgsm($option_d);
$data['quiz_optionE'] = $this->_convertgsm->convertgsm($option_e);
return $data;
}
这里我的方法在我的PHP文件:
function convertgsm($data){
$normalizeChars = array(
'`'=>"'",'Ë'=>'E','Â'=>'A','À'=>'A','Í'=>'I', 'Ì'=>'I', 'Ã'=>'A', 'Î'=>'I', 'Ä'=>'A','Ç'=>'C','Ò'=>'O','Ï'=>'I','È'=>'E','Ó'=>'O','É'=>'E','Ô'=>'O','Ê'=>'E','Õ'=>'O','Ö'=>'O','ê'=>'e','Ù'=>'U','ë'=>'e','Ú'=>'U','ë'=>'e','Ú'=>'U','î'=>'i','Û'=>'U','Û'=>'U','Ü'=>'U','ô'=>'o','Ý'=>'Y','õ'=>'o','â'=>'a','û'=>'u','ã'=>'a','ÿ'=>'y','ç'=>'c','ï'=>'i'
);
$result_data = strtr($data, $normalizeChars);
return $result_data;
}
你能帮我去法国,而上传CSV文件转换成英文?
“,而上传“意味着您希望在传输过程中对其进行读取和替换? – 2012-04-14 08:00:40
我只是解析从我的csv文件上传的数据。然后作为参数传递给该函数。 – ram 2012-04-14 08:14:59
你可以添加你使用的代码来上传你的CSV ....我想我可以帮助 – Baba 2012-04-14 08:51:03