Chrome convierte esta: aöüß
a %C3%A4%C3%B6%C3%BC%C3%9F
Pero Firefox lo convierte a esta extraña cosa aquí: a%F6%FC%DF
Me parece que no puede encontrar una manera de convertir la cosa Firefox nuevo a la original en PHP . Urldecode y rawurldecode lamentablemente no funcionan. ¿Alguien sabe cómo lidiar con eso? Gracias.Diferencia Firefox - Chrome cuando se codifica diéresis
Respuesta
Como ya se supuso Tei: Chrome está utilizando UTF-8 (como probablemente recomendado) para los parámetros de URL mientras que Firefox utiliza Latin-1. No creo que puedas controlar este comportamiento. Además, será difícil de manejar, ya que es necesario adivinar la codificación que se utilizó.
Esta es la forma en las obras de descodificación (depende del explorador, asumiendo que está usando UTF-8 en su aplicación):
Chrome:
$text = urldecode($_GET['text']);
Firefox:
$text = utf8_encode(urldecode($_GET['text']));
Esto puede ser una solución que funciona en la mayoría de los casos:
function urldecode_utf8($text) {
$decoded = urldecode($text);
if (!mb_check_encoding($decoded, 'UTF-8')) {
$decoded = utf8_encode($decoded);
}
return $decoded;
}
Fuerce su página para usar UTF-8. Probablemente estos códigos son diéresis codificados diferentes. Uno es algo así como Latin1, y el otro quizás sea UTF-8.
La mejor manera de forzar utf-8 es en una metaetiqueta en el html.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Ya intenté forzar a UTF-8 enviando un Encabezado con PHP y usando metaetiquetas html, nada funcionó. ¿Y no es una forma por cierto, solo un parámetro get normal? Text = aöüß – Stefan
? Text = aöüß no está urlencoded. Para codificar en JavaScript necesita encodeURIcomponent, para preservar la codificación. Para codificar en PHP, puedes usar rawurlencode. No sé si necesitarás o no código de descifrado crudo si descifras un elemento. – Tei
Añade texto a una página en Firefox y verás que lo codifica automáticamente en% F6% FC% DF – Stefan
- 1. Diferencia de comportamiento de Firefox y Chrome entre constructor.prototype?
- 2. diferencia entre Firefox y el relleno de Chrome
- 3. ¿Qué le sucede a un objeto NSArray cuando se codifica?
- 4. MouseWheel en Chrome y Firefox
- 5. Javascript Speed - Chrome v Firefox
- 6. ¿Cómo se maneja cuando el usuario cierra el mensaje "Ubicación física" en Firefox y Chrome?
- 7. history.back() no actualiza location.hash en Chrome/Firefox
- 8. ¿Forzar Chrome/Firefox en pantalla completa?
- 9. PHP str_getcsv elimina diéresis
- 10. Firefox 3 vs Firefox 4 ¿diferencia de desarrollo?
- 11. Copiar sin flash - Firefox, Chrome, Safari, Opera
- 12. IE comentarios condicionales y Chrome/Firefox
- 13. Chrome/Firefox Alternativa al control TWebBrowser
- 14. verificación de CSS para Chrome, IE, Firefox
- 15. Android AVD instalar Chrome y Firefox
- 16. SVG inconsistencia patrón entre Chrome y Firefox
- 17. Diferencia de altura de línea de 1 píxel entre Firefox y Chrome
- 18. Alemán diéresis en MYSQL INSERT
- 19. jQuery CSS rendering - funciona en Firefox, no en Chrome
- 20. GWT: codificación de caracteres diéresis
- 21. chrome/firefox- cómo ejecutar un comando de javascript
- 22. ¿Se puede usar stdio mientras se codifica un Kernel ...?
- 23. Jquery Form.submit() en Chrome funciona pero no en Firefox
- 24. HttpUtility.HtmlEncode no codifica todo
- 25. Las imágenes no se muestran al imprimir Vista previa (o Imprimir) en IE/Chrome/Firefox
- 26. cerrar automáticamente Firefox cuando se complete la descarga
- 27. selección cambia de color cuando Firefox se pierde el foco
- 28. problema en Firefox cuando se llama a window.open
- 29. Unicode Truncar lo que se ajusta un tamaño máximo cuando codifica para la transferencia de alambre
- 30. pitón: trabajar con diéresis alemán
Gracias, funcionó. Pero estos diferentes comportamientos de navegador simplemente apestan -.- – Stefan
Sí, estoy realmente sorprendido de que Firefox aún se quede con Latin-1 aquí. – Niko
¡Impresionante! La función funciona sin problemas para mí – Stefan