gpt4 book ai didi

php - 删除 URL 中的 UTF-8 DOM - JS 和 PHP

转载 作者:行者123 更新时间:2023-11-30 18:40:11 25 4
gpt4 key购买 nike

我在 URL 中遇到“奇怪”字符的问题。

我正在使用 Uploadify 脚本在服务器上上传文件。我在尝试 onComplete load a preview image 时遇到问题。

这是我的js:

<script type="text/javascript">
$(document).ready(function() {
$('#file_upload').uploadify({
'height' : 30,
'width' : 100,
'buttonImg' : '<?=base_url()?>style/images/buttons/button_dodaj_gray.png',
'cancelImg' : '<?=base_url()?>style/js/uploadify/cancel.png',
'wmode' : 'transparent',
'onComplete': function(event, ID, fileObj, response, data) {
if( response != "ERROR" )
{
var imageSrc = "";
//imageSrc = "/ads_images_temp/";
imageSrc = response;
$('.image_container').html('<img src="<?=base_url()?>'+imageSrc+'"></img>');
}
},
'fileExt' : '*.jpg;*.jpeg;*.png;*.gif',
'displayData': 'percentage',
'multi' : false,
'uploader' : '<?=base_url()?>style/js/uploadify/uploadify.swf',
'script' : '/tools/upload/product/glavna',

'auto' : true
});
});
</script>

问题在行:$('.image_container').html('<img src="<?=base_url()?>'+imageSrc+'"></img>'); .

我没有得到清晰的图像 URL,但我得到了这个:%EF%BB%BF768f32dd43cc1f90b79c83cceed57eb2.png .

文件名:768f32dd43cc1f90b79c83cceed57eb2.png

更新:我的用于读取图像的 PHP 文件:

if ( !empty($_FILES) )
{
$config['upload_path'] = $temp_path;
$config['allowed_types'] = '*';
$config['max_size'] = 4000;
$config['encrypt_name'] = true;

$this->load->library('upload', $config);
$this->upload->initialize($config);

if( ! ($this->upload->do_upload("Filedata"))) // Napaka pri nalaganju slike
{
//echo $this->upload->display_errors('<p>', '</p>');
echo "ERROR";
}
else // Vse OK, nadaljuj
{
$img = $this->upload->data();

if($img['image_width'] > 650)
{
$config['image_library'] = 'gd2';
$config['source_image'] = $img['full_path'];
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 650;

$this->load->library('image_lib', $config);

$this->image_lib->resize();
}

// Resize image
$this->Product_model->resize_image($img['full_path'], $temp_path.'/crop_'.$img["raw_name"].$img["file_ext"], 160, 120);
$this->Product_model->resize_image($img['full_path'], $temp_path.'/crop_crop_'.$img["raw_name"].$img["file_ext"], 80, 60);

//$this->session->set_userdata("oddaja_oglasa_glavnaSlika",$img["raw_name"].$img["file_ext"]);

$imeSlike = $img["raw_name"].$img["file_ext"];

echo $imeSlike;
}
}

编辑 2:

Chrome 控制台屏幕截图:http://imageshack.us/f/818/uploadifychromeconsole1.png/

问候,马里奥

最佳答案

EF BB BFByte Order Mark 的 UTF-8 表示形式( Material list )。正在保存或返回开头带有可选 BOM 的 UTF-8 编码数据。

看起来它已在 uploadify forum 中报告过.

编辑

好的,所以 echo $imeSlike 的文件必须与 BOM 一起保存为前 3 个字节。您需要将编辑器配置为在保存 PHP 文件(或任何文件)时添加 BOM。

作为替代方案,如果您使用的是 Windows,一个突出显示此类编码问题的出色编辑器是 EditPad (尽管还有很多其他地方可以配置是否添加 BOM)。您可以在选项 中关闭 BOM。或者您可以尝试将文件另存为 ASCII 编码,这也会删除 BOM。但是,根据您的 PHP 的内容,这可能不是一个实用的解决方案。

关于php - 删除 URL 中的 UTF-8 DOM - JS 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com