Javascript 对重音和特殊字符进行编码

Javascript 对重音和特殊字符进行编码,javascript,php,jquery,Javascript,Php,Jquery,我有一个小问题,我用php上传IMG 我正在制作一个网站,用户可以在其中查看上升图像的预览,但如果图像包含错误的口音,例如“Nenúfares.jpg”将变为“Nenúfares.jpg.jpg” 我怎样才能解决这个问题 曾考虑过在出现警报时选择一些方法。(JS)包含特殊字符,如重音等 Mi代码 PHP: HTML: 多谢各位 您可以通过普通字符重复和强调: $name = str_replace("ú", "u", $name); 您可以通过普通字符重复和强调: $name = st

我有一个小问题,我用php上传IMG

我正在制作一个网站,用户可以在其中查看上升图像的预览,但如果图像包含错误的口音,例如“Nenúfares.jpg”将变为“Nenúfares.jpg.jpg”

我怎样才能解决这个问题

曾考虑过在出现警报时选择一些方法。(JS)包含特殊字符,如重音等

Mi代码

PHP:

HTML:



多谢各位

您可以通过普通字符重复和强调:

$name = str_replace("ú", "u", $name);
您可以通过普通字符重复和强调:

$name = str_replace("ú", "u", $name);
您可以通过普通字符重复和强调:

$name = str_replace("ú", "u", $name);
您可以通过普通字符重复和强调:

$name = str_replace("ú", "u", $name);

您使用的是UTF-8还是ISO-8859-1?您需要使用与数据库相同的编码。假设页面为UTF-8,数据库为Latin-1(ISO 8859-1/2),则需要使用转换数据

我认为您可以解决您的编码问题,强制您使用如下标题:

header('Content-type: text/html; charset=utf-8');
昨天我像这样解决了我的编码问题


希望有帮助。

您使用的是UTF-8还是ISO-8859-1?您需要使用与数据库相同的编码。假设页面为UTF-8,数据库为Latin-1(ISO 8859-1/2),则需要使用转换数据

我认为您可以解决您的编码问题,强制您使用如下标题:

header('Content-type: text/html; charset=utf-8');
昨天我像这样解决了我的编码问题


希望有帮助。

您使用的是UTF-8还是ISO-8859-1?您需要使用与数据库相同的编码。假设页面为UTF-8,数据库为Latin-1(ISO 8859-1/2),则需要使用转换数据

我认为您可以解决您的编码问题,强制您使用如下标题:

header('Content-type: text/html; charset=utf-8');
昨天我像这样解决了我的编码问题


希望有帮助。

您使用的是UTF-8还是ISO-8859-1?您需要使用与数据库相同的编码。假设页面为UTF-8,数据库为Latin-1(ISO 8859-1/2),则需要使用转换数据

我认为您可以解决您的编码问题,强制您使用如下标题:

header('Content-type: text/html; charset=utf-8');
昨天我像这样解决了我的编码问题


希望能有所帮助。

除了本书已经很好地介绍了utf-8问题外,您可能还想做以下事情:

替换

$ruta ="tmp/".$_FILES["file"]["name"];
$rutafinal =str_replace(" ","_",$ruta); //Change " " for "_"

这将根据当前时间戳和文件名创建一个散列,作为新文件名,从而使您有更好的机会使您的文件名在系统中是唯一的,并消除“特殊字符”

我喜欢做的一件事是使用用户的唯一id(如果存在的话)作为补充,以防止两个用户上传同一个文件时出现问题(可能经常出现像avatar.jpeg这样的文件名)

毕竟,md5不是无冲突的,所以您可能需要在这里做一些额外的工作。 增加机会的一种方法是使用时间戳驱动的目录:

$rutafinal = 'tmp/' . date("Y/m/d/h/i", time()) . '/'. md5(time() . $ruta).'.'.$fileExtension;
例如,这会将您的文件放入

<yourimageuploadfolder>/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg
/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg

除了本节已经很好地介绍了utf-8问题外,您可能还想做的另一件事是:

替换

$ruta ="tmp/".$_FILES["file"]["name"];
$rutafinal =str_replace(" ","_",$ruta); //Change " " for "_"

这将根据当前时间戳和文件名创建一个散列,作为新文件名,从而使您有更好的机会使您的文件名在系统中是唯一的,并消除“特殊字符”

我喜欢做的一件事是使用用户的唯一id(如果存在的话)作为补充,以防止两个用户上传同一个文件时出现问题(可能经常出现像avatar.jpeg这样的文件名)

毕竟,md5不是无冲突的,所以您可能需要在这里做一些额外的工作。 增加机会的一种方法是使用时间戳驱动的目录:

$rutafinal = 'tmp/' . date("Y/m/d/h/i", time()) . '/'. md5(time() . $ruta).'.'.$fileExtension;
例如,这会将您的文件放入

<yourimageuploadfolder>/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg
/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg

除了本节已经很好地介绍了utf-8问题外,您可能还想做的另一件事是:

替换

$ruta ="tmp/".$_FILES["file"]["name"];
$rutafinal =str_replace(" ","_",$ruta); //Change " " for "_"

这将根据当前时间戳和文件名创建一个散列,作为新文件名,从而使您有更好的机会使您的文件名在系统中是唯一的,并消除“特殊字符”

我喜欢做的一件事是使用用户的唯一id(如果存在的话)作为补充,以防止两个用户上传同一个文件时出现问题(可能经常出现像avatar.jpeg这样的文件名)

毕竟,md5不是无冲突的,所以您可能需要在这里做一些额外的工作。 增加机会的一种方法是使用时间戳驱动的目录:

$rutafinal = 'tmp/' . date("Y/m/d/h/i", time()) . '/'. md5(time() . $ruta).'.'.$fileExtension;
例如,这会将您的文件放入

<yourimageuploadfolder>/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg
/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg

除了本节已经很好地介绍了utf-8问题外,您可能还想做的另一件事是:

替换

$ruta ="tmp/".$_FILES["file"]["name"];
$rutafinal =str_replace(" ","_",$ruta); //Change " " for "_"

这将根据当前时间戳和文件名创建一个散列,作为新文件名,从而使您有更好的机会使您的文件名在系统中是唯一的,并消除“特殊字符”

我喜欢做的一件事是使用用户的唯一id(如果存在的话)作为补充,以防止两个用户上传同一个文件时出现问题(可能经常出现像avatar.jpeg这样的文件名)

毕竟,md5不是无冲突的,所以您可能需要在这里做一些额外的工作。 增加机会的一种方法是使用时间戳驱动的目录:

$rutafinal = 'tmp/' . date("Y/m/d/h/i", time()) . '/'. md5(time() . $ruta).'.'.$fileExtension;
例如,这会将您的文件放入

<yourimageuploadfolder>/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg
/2014/04/10/14/04/5eb63bbbe01eeed093cb22bb8f5acdc3.jpg

可能只是在您的网站/服务器上使用utf-8?数据库当前使用utf-8,但为了兼容性等,希望避免文件中出现重音符号。。。所有内容都已经是带有“encode”的文本字段,以便正确识别您。可能只是在您的网站/服务器上使用utf-8?数据库当前处于utf-8中,但为了兼容性等,希望避免文件中的重音符号。。。前夕