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 entre Firefox y el relleno de Chrome
- 2. Diferencia de comportamiento de Firefox y Chrome entre constructor.prototype?
- 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. IE comentarios condicionales y Chrome/Firefox
- 12. Copiar sin flash - Firefox, Chrome, Safari, Opera
- 13. Chrome/Firefox Alternativa al control TWebBrowser
- 14. SVG inconsistencia patrón entre Chrome y Firefox
- 15. verificación de CSS para Chrome, IE, Firefox
- 16. Android AVD instalar 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. HttpUtility.HtmlEncode no codifica todo
- 24. Jquery Form.submit() en Chrome funciona pero no en Firefox
- 25. Las imágenes no se muestran al imprimir Vista previa (o Imprimir) en IE/Chrome/Firefox
- 26. Unicode Truncar lo que se ajusta un tamaño máximo cuando codifica para la transferencia de alambre
- 27. selección cambia de color cuando Firefox se pierde el foco
- 28. problema en Firefox cuando se llama a window.open
- 29. cerrar automáticamente Firefox cuando se complete la descarga
- 30. Javascript trabajando en Safari pero no en Chrome o Firefox
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