Howto importation xls/csv fichier avec le jeu de caractères unicode en php/mysql?

Je veux donner à l'utilisateur la possibilité d'importer un fichier csv dans mon php/mysql système, mais a rencontré quelques problèmes avec l'encodage lorsque la langue est le russe qui, excel seulement peut stocker en UTF-16 tab-codé de l'onglet fichiers.

Maintenant ma base de données est en latin1, mais je vais le changer que de l'utf-8 comme décrit à la question "un-script-pour-changer-de toutes les tables et les champs-de-la-utf-8-bin-classement-en-mysql"

Mais comment dois-je importer le fichier? et stocker les chaînes?

Dois-je par exemple la traduire de html_entitites?

Je suis en utilisant le fgetcsv de commande pour obtenir les données du fichier csv.
Mon code ressemble à quelque chose comme cela pour le moment.


file_put_contents($tmpfile, str_replace("\t", ";", file_get_contents($tmpfile)));
$filehandle = fopen($tmpfile,'r');
while (($data = fgetcsv($filehandle, 1000, ";")) !== FALSE) {
  $values[] = array(
    'id' => $data[0], 
    'type' => $data[1], 
    'text' => $data[4], 
    'desc' => $data[5], 
    'pdf' => $data[7]);
}
 

Comme remarque, si je stocke le fichier xls en csv dans excel, j'ai des caractères spéciaux sont remplacés par des '_', donc la seule façon que je peux obtenir de la russie caractères du fichier, enregistrer le fichier dans excel comme des onglets séparés fichier en UTF16 format.

OriginalL'auteur Jesper Grann Laursen | 2009-05-21