[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с кодировкой
Dementriu
Доброго времени суток!
Образовалась такая проблема:
при создании сайта на php (задание такое было) образовалась проблема при экспорте данных из форм ввода в csv файл.
Т.е. сама проблема возникает тогда, когда открываешь этот файл в exel и там вместо русских букв появляется что-то типо этого "авоаомм РІРёРІРё"
А нужно, чтобы данные вбивались в нужной кодировке.

Помощь нужна в указании места, куда нужно вставить iconv() (На сколько понял - это для конвертирования из 1 кодировки в другую). Потому что так и не смог понять куда правильно.
Если надо, то ниже представлен код. Заранее спасибо!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<?php

/**
* Класс для работы с csv-файлами
*/

class CSV {

private $_receivedData = null;

/**
* param string $receivedData - путь до csv-файла
*/

public function __construct($receivedData) {
if (file_exists($receivedData)) { //Если файл существует
$this->_receivedData = $receivedData; //Записываем путь к файлу в переменную
}
//else { //Если файл не найден то вызываем исключение
// throw new Exception("Файл "$receivedData" не найден");
//}

}

public function setCSV(Array $csv) {
//Открываем csv для до-записи,
//если указать w, то ифнормация которая была в csv будет затерта

$handle = fopen($this->_receivedData, "w");

foreach ($csv as $value) { //Проходим массив
//Записываем, 3-ий параметр - разделитель поля

fputcsv($handle, explode(";", $value), ";");
}
fclose($handle); //Закрываем
}

/**
* Метод для чтения из csv-файла. Возвращает массив с данными из csv
* return array;
*/

public function getCSV() {
$handle = fopen($this->_receivedData, "r"); //Открываем csv для чтения

$array_line_full = array(); //Массив будет хранить данные из csv
//Проходим весь csv-файл, и читаем построчно. 3-ий параметр разделитель поля

while (($line = fgetcsv($handle, 0, ";")) !== FALSE) {
$array_line_full[] = $line; //Записываем строчки в массив
}
fclose($handle); //Закрываем файл
return $array_line_full; //Возвращаем прочтенные данные
}

}

$fld_INN = $_GET['fld_INN'];
$fld_ADRESS = $_GET['fld_ADRESS'];
$fld_AREA = $_GET['fld_AREA'];
$fld_SUM = $_GET['fld_SUM'];
$fld_DATE = $_GET['fld_DATE'];
try {
$csv = new CSV("receivedData.csv"); //Открываем наш csv
/**
* Чтение из CSV (и вывод на экран в красивом виде)
*/
/**
* Запись новой информации в CSV
*/


$arr = array($fld_INN .";". $fld_ADRESS .";". $fld_AREA .";". $fld_SUM .";". $fld_DATE);
$csv->setCSV($arr);
$get_csv = $csv->getCSV();
foreach ($get_csv as $value)
{ //Проходим по строкам
echo "ИНН индивидуального предпринимателя: " . $value[0] . "<br/>";
echo "Адрес торгового объекта: " . $value[1] . "<br/>";
echo "Площадь торгового объекта: " . $value[2] . "<br/>";
echo "Сумма уплаченного сбора: " . $value[3] . "<br/>";
echo "Дата осуществления платежа: " . $value[4] . "<br/>";
echo "<hr><a href=receivedData.csv>Скачать файл</a>";
}

}

catch (Exception $e) { //Если csv файл не существует, выводим сообщение
echo "Ошибка: " . $e->getMessage();
}
?>


 ! 

М
используй кнопки bb-code-ов для оформления кода!
killer8080
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.