Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dcorteztec

[Resolvido] problemas com charset ajax(Enviando o fomulário)

Recommended Posts

bom amigos, não sei muita coisa de ajax mas eu estou usando a biblioteca multupload, para criar um álbum eu envio o

formulário via ajax.

Ele tá cadastrando beleza só com o charset errado já coloquei. o meta html para iso-8859- e nada.

até o header em php

<?php
   header ('Content-Type: text/html; charset=iso-8859-1');
   ?>

var uploader = "";
	$(function() {
		$("#album").submit(function() {
			// Não continue caso já exista uma instância do multiUploader
			if (typeof uploader == "object")
				return false;

			var data = $(this).serialize(); // Dados do formulário

			$(":text,textarea").attr("disabled", "disabled"); // Desabilitar os textos

			// Envia o formulário via Ajax
			$.ajax({
				type: "POST",
				url: "savealbum.php",
				data: data,
				cache: false,
				dataType: "json",
				success: function(json)
				{   
					if (json.id > 0) // Se recebemos um id então o álbum foi salvo com sucesso
					{
						// Cria uma instância do multiUpload
						uploader = new multiUpload('uploader', 'uploader_files', {
							swf:             'swf/multiUpload.swf',
							script:          'upload.php',
							expressInstall:  'swf/expressInstall.swf',
							multi:           true,
							data:            json, // Envia a variável json para o script de upload (com o id do álbum)
							fileDescription: 'JPEG Images',
							maxfiles:          10, // maximum number of files allowed (0 = no limit)
	                        maxfilesError:     'Somente 10 Imagens',
							fileExtensions:  '*.jpg;*.jpeg',
							onAllComplete:   function()
							{
								alert("Todos os arquivos foram enviados!");
							}
						});

						// Cria o html base para listagem dos arquivos selecionados e barra de progresso
						uploader.createBaseHtml();

						// Mostra as ações (Iniciar Upload, limpar fila)
						$(".upload_actions").show();
					}
					else // Caso o álbum não seja salvo
					{
						$(":text,textarea").removeAttr("disabled"); // Habilita os textos novamente
						alert(json.msg); // Mostra a mensagem de erro retornada
					}
				}
			});

 

alguém já passou por isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que setar o charset também na página do javascript

outro método é usar o charset na chamada do jquery com a propriedade contentType

 

contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",

exemplo extraído de: http://stackoverflow.com/questions/26620/how-to-set-encoding-in-getjson-jquery

 

outra alternativa seria usar o utf8_decode e utf8_encode se for usar charsets diferentes, mas é muito manual.

 

dica: use sempre pra TUDO UTF-8 (unicode), pois é o padrão universal de caracteres.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.