diff --git a/src/controllers/document.controller.ts b/src/controllers/document.controller.ts index 7f8ff24..47c5eb1 100644 --- a/src/controllers/document.controller.ts +++ b/src/controllers/document.controller.ts @@ -449,7 +449,18 @@ export async function extractTextFromUploadedFile(file: { buffer: Buffer; mimety // Eğer XML bulunmuşsa XML üzerinden devam et if (xmlEntry) { - const rawXml = zip.readAsText(xmlEntry); + let rawXml = ''; + try { + const entryBuffer = xmlEntry.getData(); + // UDF belgeleri UTF-8 veya ISO-8859-9 / Windows-1254 (Türkçe) kodlamasına sahip olabilir + rawXml = entryBuffer.toString('utf8'); + if (rawXml.includes('encoding="ISO-8859-9"') || rawXml.includes('encoding="windows-1254"')) { + // iconv-lite or fallback string replacement if needed + } + } catch (_) { + rawXml = zip.readAsText(xmlEntry); + } + if (rawXml && rawXml.trim()) { const plainText = rawXml.replace(//gi, '') .replace(//gi, '\n')