Alnitak Posted May 4, 2018 Share Posted May 4, 2018 Hola: Estoy trabajando con un importador personalizado en prestashop, que lee un fichero .DAT con unos 2000 productos (nombre, descripción, imagen, etc.). Tengo un problema con los productos con Ñ o acentos, ya que no permite incluir el caracter como nombre del fichero y da error en esos productos en concreto. $product->name[$default_language_id] = trim ($name_producto); En $name_producto tengo el nombre de cada producto, si tiene Ñ, º, o acentos... genera error. Entiendo que la BD lo debería guardar de cualquier forma. ¿Cómo lo podré solucionar? Muchas gracias. Link to comment Share on other sites More sharing options...
gusman126 Posted May 6, 2018 Share Posted May 6, 2018 Tengo un modulo que lee e importa de un CSV y yo lo hago asi. no he tenido ningun problema, comprueba que tu base de datos este en utf8 $product = new Product(); $idiomas = Language::getLanguages($active = true, $id_shop = false); foreach ($idiomas as $idioma){ $product->name[$idioma["id_lang"]] = $producto['name'].' - '.$producto['size']; $seo = self::seo_friendly_url($producto['name']); $product->link_rewrite[$idioma["id_lang"]] = $seo; } function seo_friendly_url($string){ //De nombre del producto a url, limpieza $string = str_replace(array('[\', \']'), '', $string); $string = preg_replace('/\[.*\]/U', '', $string); $string = preg_replace('/&(amp;)?#?[a-z0-9]+;/i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace('/&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);/i', '\\1', $string ); $string = preg_replace(array('/[^a-z0-9]/i', '/[-]+/') , '-', $string); return strtolower(trim($string, '-')); } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now