내 데이터베이스 정렬을 utf8_unicode_ci
과 CakePHP 데이터베이스 설정으로 설정했습니다.일본 이름 인 경우 IE8 다운로드 파일 이름이 가비지가 됨
$this->viewClass = 'Media';
$params = array(
'id' => $download_list[0],
'download' => true,
'extension' => $download_file_ext,
'path' => $fileDownloadPath . DS,
);
$this->set($params);
사용자가 파일을 업로드, 파일 이름이 unicode-utf8
으로 데이터베이스에 기록됩니다
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'xxx',
'login' => 'xxx',
'password' => 'xxx',
'database' => 'thisisdatabase',
'prefix' => '',
'encoding' => 'utf8',
);
}
는이 같은 다운로드 이진 파일을 설정합니다. Chrome에서 FF로 다운로드 할 때 일본어 이름이 그대로 유지됩니다. 그러나 IE를 통해 다운로드 할 때 파일 이름은 가비지입니다. 비록 파일 자체가 괜찮 으면 (나는 그것을 열 수 있습니다 등).
누구나 해결 방법을 알고 계십니까?
http 응답에 적절한 utf 헤더를 설정 하시겠습니까? 렌더링 파이프 라인 전체가 일관성이 있어야합니다. –
@MarcB 그 방법을 설명해 주시겠습니까? 나는 헤더 물건에 대해 잘 모른다. 감사합니다 – Harts
데이터베이스 구성에서 데이터 정렬을 지정할 수도 있습니다. 올바르게 기억한다면 utf8 인코딩을 사용하면 기본적으로 utf8_general_ci 데이터 정렬이됩니다. 시도하고 다른 파일을 저장하고 작동하는지보십시오. – jimiyash