Я написал код для анализа файла, разделенного табуляцией, и импорта его в таблицу MySQL. Файл имеет кодировку UTF-8, как и таблица MySQL.
Импорт работает, но когда я просматриваю данные в поле таблицы, каждый второй символ отображается как UTF-8. заменяющий символ �. Например, число 4308817 в необработанном файле отображается в базе данных как «4�3�0�8�8�1�7”. В данных у меня есть символы UTF-8 (например, ë и т. д.), так что это необходимо.
Я пробовал разные вещи с utf8_encode, decode, mb_convert_encoding, и т. д., и, кажется, ничто не заставляет их отображаться без символов �.
$lines = file($dir . '/' . $file);
foreach ($lines as $line_num => $line) {
$arr = explode("\t", $line);
if($line_num > 0) {
$idx = 0;
$AddSQL = "INSERT INTO `$table` VALUES(";
foreach ($arr as $field) {
$value = $arr[$idx++];
$AddSQL .= "\"" . str_replace('"', '\"', trim($value)) . "\", ";
}
$AddSQL = substr($AddSQL, 0, strlen($AddSQL) - 2);
$AddSQL .= ")";
$dbconn->query($AddSQL);
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ile-in-php
Символы замены UTF-8 между каждым символом при чтении файла в PHP ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1730302188
Anonymous
Я написал код для анализа файла, разделенного табуляцией, и импорта его в таблицу MySQL. Файл имеет кодировку UTF-8, как и таблица MySQL.
Импорт работает, но когда я просматриваю данные в поле таблицы, каждый второй символ отображается как UTF-8. заменяющий символ �. Например, число 4308817 в необработанном файле отображается в базе данных как «4�3�0�8�8�1�7”. В данных у меня есть символы UTF-8 (например, ë и т. д.), так что это необходимо.
Я пробовал разные вещи с utf8_encode, decode, mb_convert_encoding, и т. д., и, кажется, ничто не заставляет их отображаться без символов �.
$lines = file($dir . '/' . $file);
foreach ($lines as $line_num => $line) {
$arr = explode("\t", $line);
if($line_num > 0) {
$idx = 0;
$AddSQL = "INSERT INTO `$table` VALUES(";
foreach ($arr as $field) {
$value = $arr[$idx++];
$AddSQL .= "\"" . str_replace('"', '\"', trim($value)) . "\", ";
}
$AddSQL = substr($AddSQL, 0, strlen($AddSQL) - 2);
$AddSQL .= ")";
$dbconn->query($AddSQL);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79141357/utf-8-replacement-characters-between-every-character-when-reading-file-in-php[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия