Я получаю данные из файла XML в Unicode. Каков наилучший и правильный способ вставить / обновить эти данные в БД MySQL с полями в кодировке latin1_general_ci?
Спасибо!
придираться: latin1_general_ci
это сортировка — порядок сортировки. Кодировка — CHARACTER SET
— вы используете это latin1
,
Сделайте так, чтобы ваши Unicode-символы из ваших строк. Сделайте это после того, как вы проанализируете ваш XML-файл по значениям и перед тем, как сохранить эти значения в столбцах базы данных. Например, вы хотите превратить ⇨ (стрелка) в ⇨
в вашей текстовой строке перед сохранением.
$outstr = htmlentities ( $instr, ENT_NOQUOTES, ISO8859-1);
Вы должны прочитать о htmlentities
потому что у него много вариантов. http://php.net/manual/en/function.htmlentities.php
Когда вы извлекаете эти значения из базы данных, вы можете либо отправить их прямо в браузер, который распознает разрешенные элементы, либо вы можете использовать html_entity_decode()
отменить разрешающую операцию.
Других решений пока нет …