`ve có data.csv tập tin, mà phải được tải lên máy chủ, phân tích ....làm thế nào để phát hiện mã hóa các tập tin csv tải lên
Tập tin này có thể có mã hóa khác nhau. Tôi phải phát hiện và chuyển đổi thành utf8.
Tại thời điểm này php chức năng mb_detect_encoding luôn trả về utf8. i tryed:
<?php
mb_detect_encoding(file_get_contents($_FILES["csv_uploadfile"]["tmp_name"]));
hoặc
<?php
mb_detect_encoding(file_get_contents($saved_file_path));
mb_detect_encoding lợi nhuận utf8.
nếu tôi sử dụng lệnh bash
$ file -bi csv_import_1378376486.csv |awk -F "=" '{print $2}'
nó rerurns iso-8859-1
nên khi tôi cố gắng
iconv --from-code=iso-8859-1 --to-code=utf-8 csv_import_1378382527.csv
nó không phải là có thể đọc được.
Mã hóa thực là cp1251, bởi tôi không thể phát hiện ra nó. Có ai giúp tôi giải quyết vấn đề này không?
Đây là vấn đề cố hữu của mã hóa văn bản. Bạn không thể luôn luôn phát hiện chúng một cách chính xác, bạn chỉ có thể đoán chúng hầu hết thời gian. Trừ khi có sẵn một số thông tin meta. – scai