Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    file txt e caratteri accentati

    Buongiorno a tutti,
    Lavorando in PHP su un server Apache con mySql sto realizzando una applicazione che carica
    una tabella di dati anagrafici. Il caricamento può avvenire o tramite un form o leggendo i
    dati da un file .txt che importo sul server dal pc locale. Il problema arriva quando trovo
    un nome con una vocale accentata, se lo carico per mezzo del form funziona, verifico il dato
    sulla tabella con phpmyadmin ed è caricato correttamente, se invece lo leggo dal .txt la vocale
    viene trascodificata in due caratteri ascii (es: ò diventa ò) e tutti i campi che seguono il nome
    slittano a destra di un carattere. Ho letto qualcosa in rete riguardo alla codifica UTF-8, ma anche
    se cambio nell'intestazione della pagina il charset da iso-8859-1 a utf-8, non ottengo risultati
    migliori. Per ora ho risolto il problema con una str-replace
    **$nomecog = str_replace("ò", "ò", $nomecog);** per ciascuna coppia di caratteri che corrisponde ad una lettera accentata, però è una soluzione che non mi piace molto perchè risolve il problema particolare, ma non quello di avere un file .txt "comprensibile" per il programma. Quello che mi piacerebbe sapere allora è: è possibile trascodificare il .txt in iso-8859-1 dal suo set nativo (è utf-8? sono un po' confuso su questo) in modo che sia poi leggibile con PHP?
    Grazie e scusate la lunghezza del post

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    ho trovato queste due funzioni -->utf8_decode/utf8_encode non mi e mai capitato un simile problema, quinid non le ho provate, ma vedi se possono esserti utili ciao.

  3. #3
    Originariamente inviato da killua85
    ho trovato queste due funzioni -->utf8_decode utf8_encode non mi e mai capitato un simile problema, quinid non le ho provate, ma vedi se possono esserti utili ciao.
    Ho fatto qualche prova e francamente ci ho capito poco. Ho provato a caricare qualche nome con l'accento e qualche nome con l'apostrofo sulla mia tabella anagrafica tramite il form ed è andato tutto bene, poi ho riscritto gli stessi nomi su un file txt e, per prima cosa, ho provato a stamparli prima e dopo l'utf8_decode. Effettivamente dopo l'uso della funzione appaiono i caratteri accentati, però quando ho provato a confrontare i nomi letti dal txt e decodati con quelli presenti nella tabella non li ha riconosciuti anche se apparentemente sono uguali. Se li modifico invece con una str_replace li riconosce.
    Ti ringrazio comunque, la strada sembrava promettente, però, a meno che non abbia fatto io qualche fesseria nelle prove, non sono riuscito a farla funzionare.
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.