Cómo convertir la codificación ASCII a UTF8 en PHPConvertir ASCII de la codificación UTF-8
Respuesta
ASCII es un subconjunto de UTF-8, por lo que si un documento es ASCII de lo que ya es UTF8.
Uso utf8_encode)
página (hombre se puede encontrar aquí http://php.net/manual/en/function.utf8-encode.php
Lea también este artículo de Joel on Software. Proporciona una excelente explicación si lo que Unicode es y cómo funciona. http://www.joelonsoftware.com/articles/Unicode.html
utf8_encode fue diseñado para codificar latin-1 en utf-8. Solo para latin-1 (que es ISO-8859-1). – Dmitri
Si está seguro de que su codificación actual es pura ASCII, entonces no tiene que hacer nada porque ASCII ya es un UTF-8 válido.
Pero si aún desea convertir, sólo para estar seguro de que su UTF-8, entonces usted puede utilizar iconv
$string = iconv('ASCII', 'UTF-8//IGNORE', $string);
El IGNORE, se descartarán los caracteres no válidos en caso de que algunos no eran ASCII válidos.
Siempre he entendido que "IGNORE" es automática/implícitamente incorrecta. – tchrist
"ASCII es un subconjunto de UTF-8, entonces ..." - entonces UTF-8 es un conjunto? :)
En otras palabras: cualquier cadena construida con code points
de x00 a x7F tiene indistinguibles representaciones (secuencias de bytes) en ASCII y UTF-8. Convertir tal cadena no tiene sentido.
La frase clave aquí es "puntos de código de x00 a x7F". Si su "ASCII" tiene puntos de código de x10 a xFF, entonces necesita hacer más trabajo. – Azeroth2b
Usa mb_convert_encoding para convertir un ASCII a UTF-8. Más información here
$string = "chárêctërs";
print(mb_detect_encoding ($string));
$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));
El uso de iconv parece mejor solución pero mi caso tengo Aviso forman esta función: "Detectado un carácter ilegal en la cadena de entrada en" (sin igonore). utilizo 2 funciones para manipular cadenas de caracteres ASCII convierten a la matriz de código ASCII y luego serializar:
public static function ToAscii($string) {
$strlen = strlen($string);
$charCode = array();
for ($i = 0; $i < $strlen; $i++) {
$charCode[] = ord(substr($string, $i, 1));
}
$result = json_encode($charCode);
return $result;
}
public static function fromAscii($string) {
$charCode = json_decode($string);
$result = '';
foreach ($charCode as $code) {
$result .= chr($code);
};
return $result;
}
- 1. Conversión de UTF8 a ASCII
- 2. codificación Java UTF8
- 3. knitr y codificación UTF8
- 4. ¿Cómo puedo convertir caracteres no ASCII codificados en UTF8 en equivalentes ASCII en Perl?
- 5. ios Codificación UTF8 de nsstring
- 6. Django makemessages errors Desconocido codificación "utf8"
- 7. Convertir codificación ascii a int y viceversa en python (rápidamente)
- 8. ¿Cómo hago la codificación URL de los caracteres ASCII?
- 9. java: cómo convertir un archivo a utf8
- 10. Cómo convertir una cadena a UTF8?
- 11. Cómo convertir (transcribir) una cadena de utf8 a ASCII (byte único) en C#?
- 12. Cómo convertir UTF8 a Unicode
- 13. ¿Convertir ascii a int?
- 14. ¿Convertir cadena latin1 a utf8?
- 15. La codificación UTF8 no funciona cuando se usa ajax
- 16. convertir la cadena EBCDIC al formato ASCII?
- 17. Convertir caracteres no ASCII de ASCII-8BIT a UTF-8
- 18. ¿Convertir de cadena ASCII codificada en hexadecimal a ASCII simple?
- 19. PostgreSQL + PHP + UTF8 = secuencia de bytes no válida para la codificación
- 20. Convertir bytes ASCII [] a String
- 21. Ascii/Hex convertir en bash
- 22. ¿Cómo convertir IDN a ASCII?
- 23. Convertir punto de código unicode en hex UTF8 en python
- 24. Descodificación de doble codificación de utf8 en Python
- 25. cómo convertir la codificación de caracteres con ruby 1.9
- 26. PHP: convertir la salida de curl_exec a UTF8
- 27. MySQL Convertir datos latin1 a UTF8
- 28. Convertir la codificación del archivo del repositorio git
- 29. ¿El nombre de codificación es UTF8 o UTF-8?
- 30. Cómo convertir ISO8859-15 a UTF8?
palabra de precaución, si el ASCII es "extendida" ascii, entonces se puede encontrar problemas. https://en.wikipedia.org/wiki/Extended_ASCII – Azeroth2b