he escrito un código para subir ficheros a un servidor desde mi servidor, a través de un servicio Web. Todo funciona bien hasta que el nombre del fichero contene símbolos diacríticos.
Todos mis ficheros estáne en UTF-8. Este es mi código:
Código PHP:
[...]
$meta = array();
$meta['full_path'] = $full_path;
$postData = array();
$postData['meta'] = json_encode($meta);
$postData['file'] = $temp_path; // Esto es un "@" . "La ruta donde esta el fichero"
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERPWD, Yii::app()->params['APP_AUTH']);
curl_setopt($curl,CURLOPT_HTTPHEADER, array (
"Content-Type: multipart/form-data;charset=utf-8",
));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$r = curl_exec($curl);
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
return array($r, $code);