我試圖導入CSV到使用此代碼我的MySQL數據庫:無效的UTF-8字符的字符串文件轉換成MySQL數據庫
我從後CSV文件。
<?php
//conexiones, conexiones everywhere
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'password';
$database = 'test';
$table = 'csvtable';
if ([email protected]_connect($db_host, $db_user, $db_pass))
die("No se pudo establecer conexión a la base de datos");
if ([email protected]_select_db($database))
die("base de datos no existe");
if(isset($_POST['submit']))
{
//Aquí es donde seleccionamos nuestro csv
$fname = $_FILES['sel_file']['name'];
echo 'Cargando nombre del archivo: '.$fname.' <br>';
$chk_ext = explode(".",$fname);
if(strtolower(end($chk_ext)) == "csv")
{
//si es correcto, entonces damos permisos de lectura para subir
$filename = $_FILES['sel_file']['tmp_name'];
$handle = fopen($filename, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
//Insertamos los datos con los valores...
$sql = "INSERT into csvtable(id, example, example2) values('$data[0]','$data[1]','$data[2]'";
mysql_query($sql) or die('Error: '.mysql_error());
}
//cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo"
fclose($handle);
echo "Importación exitosa!";
}
else
{
//si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para
//ver si esta separado por " , "
echo "Archivo invalido!";
}
}
?>
的問題是,我有一個像Sol·licitud
或Accés
的話,我得到這個錯誤:
Error: Invalid utf8 character string: 'Sol\xB7licitant'
你能幫我傢伙?
確保您的整個堆棧是UTF- 8:https://www.toptal.com/php/a-utf-8-primer-for-php-and-mysql – Halcyon
csv和utf-8有問題。使用LOAD DATA導入到Mysql。嘗試將數據從SQL Server導出到Mysql時遇到此問題。客戶給我的XML有問題。不要忘記在加載數據之前添加'SET CHARACTER SET'utf8''。在使用MySQL和i18n時,我還添加了「SET NAMES utf8」。 –
如果你在Excel中創建/編輯csv文件 - **不要** ... utf-8支持是垃圾(你必須創建一個新的電子表格然後導入數據),請嘗試打開/自由相反,你可能會有更好的運氣。 – CD001