Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231

    iconv: convertire direttamente da russo a utf-8

    Salve a tutti,
    premetto che ho letto tantissime pagine che parlano di conversione (come in oggeto).

    Ho un file che in Russo e vorrei direttamente convertirlo in utf-8 (per l'inserimento successivo nel database).

    ho fatto mille prove:

    $sStr = iconv('cp866', "UTF-8", $sStr);

    questa solo l'ultima delle prove...

    ma si pu sapere qual' l'esatto charset del Russo?

    $sStr = iconv('?????????', "UTF-8", $sStr);

    Ciao e grazie, MAX
    http://www.mdlwork.com

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma perch non apri il file con Notepad++ o altro programma simile e leggi direttamente da l il tipo di charset usato per il file?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231

    ...

    Ciao,
    scusa ma non dipende dal file e comunque apro il file (che un .csv) con pspad, quindi.. qui si tratta che la lingua russa (cirillico quello che sia), ne corrisponde un charset che non riesco a determinare.

    Ciao MAX
    http://www.mdlwork.com

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231

    entriamo nello specifico...

    inserisco pi informazioni in modo da avere la situazione piu chiara.

    Allora:

    1) dal file excel supponiamo che arriva questo (in lingua russa):

    Информационная система по разновидности домашних животных

    2) nel mio script di import setto:
    - header('Content-Type: text/html; charset=UTF-8');
    - connessione al bd ed eseguo subito la query: "SET NAMES utf8"
    - iconv_get_encoding() mi restituisce che ho settato il l'encode "ISO-8859-1"

    3) il database tutto in utf-8

    quello che eseguo per logica :
    - $sStr = iconv('ISO-8859-1', "UTF-8", $sStr);

    il risultato il seguente:

    ˜н„о€ма†ионная сис‚ема по €азновиднос‚и домаˆни… живо‚н‹…

    che visualizzato sulla pagina (anchessa in utf-8 "<meta http-equiv="Content-Type" content="text/html; charset=utf-8">") da questo:

    �?н�?о�?ма�?ионная сис�?ема по �?азновиднос�?и дома�?ни�? живо�?н�?�?

    Il risultato molto simile a quello che voglio ottenere, evidentemente non riesce a codificare bene...

    Idee?

    Ciao MAX
    http://www.mdlwork.com

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il DB MySql? Per impostare il charset della connessione al db devi usare la funzione mysql_set_charset(), va messa dopo la connessione al db e prima delle query.
    Di charset devi specificare quello usato dalle tabelle del db, nel tuo caso utf8.

    Anche come charset della pagina dove mostrerai i testi devi specificare utf8.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231
    si il database mysql ed ho gi impostato il charset subito dopo la connessione al database.

    come scritto prima, ho gi impostato tutto su utf-8

    riesco ad ottenere un risultato molto vicino a quello desiderato, usando il charset 'cp1252'

    $sStr = iconv('cp1252', "UTF-8", $sStr);

    boh... ciao e grazie MAXXX
    http://www.mdlwork.com

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231
    ho provato anche con la classe mb_string:

    mb_convert_encoding($sStr, "UTF-8");

    niente...

    va be a parte tutto, ma come si fa se ti danno un testo in cirillico e buttarlo dentro il database in utf8?

    Ci sono dei convertitori decenti, anche software da scaricare, script php o altro?

    Qualsiasi cosa basta che mi codifica in modo corretto...

    Ciao MAX
    http://www.mdlwork.com

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.