Используя ARC2, текстовые данные повреждаются.ARC2 (семантическая веб-библиотека PHP) неправильно преобразует файл UTF-8 в UTF-8
Мой входной файл RDF находится в UTF-8. Он загружается в ARC2, который использует бэкэнд MySQL, через запрос LOAD <path/to/file.rdf>
. База данных MySQL также находится в UTF-8, так как проверяется с помощью PHPMyAdmin.
Однако текстовые данные повреждены. После нескольких проверок конверсии проблема заключается в том, что исходный файл UTF-8, как полагают, находится в ISO-8859-1 и снова преобразован в UTF-8.
Пример: "surmonté" → "surmonteÌ".
Этот «surmonteÌ» доступен в UTF-8 в базе данных.
Связано ли это с тем, как ARC2 открывает файлы (копание кода, но не исчерпывающее, но довольно глубокое, не показало ничего подозрительного), или это может быть более общий случай с PHP и MySQL?
Как я могу убедиться, что импортированные данные не ошибочно перекодированы, а взяты за оригинал?
Является ли ARC2 указанием кодировки для файла или подключения к базе данных в любой точке? Если нет, это, вероятно, будет по умолчанию latin1, откуда и возникает ваша проблема. – deceze
@deceze Да, это, конечно, первое, что я проверил, и он явно [создает базу данных и сортировку в UTF-8] (https://github.com/semsol/arc2/blob/master/store/ARC2_Store. php # L59). Тогда он явно не указывает его при подключении к базе данных, но я не знаю, будет ли это иметь какой-то смысл ...? – MattiSG
База данных и сортировка не имеют смысла без кодировки соединения. См. Http://kunststube.net/frontback – deceze