У меня есть данные Excel, преобразованные из XLSX в CSV, затем мне нужно загрузить их на свой сайт. Данные, показанные в CSV, изменились после загрузки.
// On Excel (CSV)
Row Description
1 Enjoy this life without drugs
2 Life is so short, so enjoy it
После загрузки на сайт и вставки в MySQL это выглядит так.
// On MySQL
Row Description
1 Enjoy?this life without?drugs
2 Life is?so?short, so?enjoy it
// On PHP ( (echo loop).
Row Description
1 Enjoy�this life without�drugs
2 Life is�so�simple, so�enjoy it
Я проверил свой CSV, это просто пробел, который изменился на ?
и �
. Итак, я пытаюсь заменить это, но все не удалось использовать:
// $the_string = Line of text Description.
1. str_replace("�", " ", $the_string);
2. str_replace("�", " ", $the_string);
3. str_replace("�", " ", $the_string);
4. str_replace("?", " ", $the_string");
Но, если я тестирую его только на <?php str_replace("�", " ", "a�b"); ?>
, он работает.
Я не знаю, где ошибка.
Это мой исходный код:
public function upload()
{
$config = array(
"upload_path" => "./uploads/",
"allowed_types" => "csv"
);
$this->load->library("upload", $config);
$this->load->helper("file");
$this->upload->initialize($config);
$upload = $this->upload->data();
$file = base_url()."uploads/{$upload['file_name']}";
$file_handle = fopen($file, "r");
$check_line = 0;
while ( ! feof($file_handle))
{
$line_of_text = fgetcsv($file_handle, 1024);
$check_line++;
}
fclose($file_handle);
if ($check_line > 1)
{
$file_handle2 = fopen($file, "r");
while ( ! feof($file_handle2))
{
$line_of_text = fgetcsv($file_handle, 1024);
$description = $line_of_text[1];
$this->model->insert_description($description);
}
fclose($file_handle);
}
}
<?php ?>
26.01.2018$the_string
вместо$str
в моем примере. Я отредактировал свой ответ в соответствии с именем вашей переменной. 26.01.2018$the_string
)? 26.01.2018$the_string
и$line_of_text[1]
. Данные исчезли, просто покажите" "
(1 пробел). Я до сих пор не знаю, почему. 26.01.2018<?php str_replace("�", " ", "a�b"); ?>
, он работает и печатаетa b
. 26.01.2018