PHP - Mostrar caracteres especiales al cifrarlos

   
Vista:

Mostrar caracteres especiales al cifrarlos

Publicado por bajogratis (3 intervenciones) el 21/06/2016 23:10:55
Saludos;

Soy nuevo en php y ando aprendiendo. Programa en Visual Basic 6, y migraba algunas funciones que usaba en mis aplicaciones de vb6. En este caso pues de un cifrador de cadenas es lo que me trae a preguntar. En el Bisual Basic 6 lo cifrado podia colocarlo en una caja de texto "text box" , mostrarlo y copiarlo.

En php logre emular la function del cifrado, pero a la hora de mostrarlo, no se ve como debiera. Inclusive los saltos de linea hasta afectan. De la unica manera que se ven como quiero es creando un fichero de texto como salida donde si se ven como quiero.

he cambiado la cabecera "Content-Type: text/plain; charset=UTF-8" y nada he puesto "Content-Type: text/html; charset=UTF-8" como valor en input type=text o en textarea y nada no se muestran bien.
mostrar-cifrado

habra manera de mostrarlo sin la necesidad de crear un archivo .txt
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sergio

Mostrar caracteres especiales al cifrarlos

Publicado por Sergio (1 intervención) el 22/06/2016 00:51:04
Seguramente es por la codificación utf-8 de tu archivo php, lo que quieres mostrar en localhost/cripto.php no está en codificación utf-8 y eso es correcto. Al momento de mandar la respuesta en pantalla el php lo quiere transformar a utf-8 pero no puede.

Espero te haya servido la respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar caracteres especiales al cifrarlos

Publicado por bajogratis (3 intervenciones) el 22/06/2016 01:06:45
1
2
3
4
5
6
<?php
header ("Content-Type: text/plain; charset=UTF-8");
 
mb_internal_encoding("UTF-8");
mb_http_output( "UTF-8" );
ob_start("mb_output_handler");

Y aun asi se ve asi, alguna otra forma de forzarlo a mostrar en utf-8
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Mostrar caracteres especiales al cifrarlos

Publicado por kip (562 intervenciones) el 23/06/2016 21:24:23
Hola, deberias configurar el FILE ENCODING en el IDE que estas usando para editar tu codigo, cambiarlo a UTF8.

Inclusive puedes usar, utf8_encode() para mostrar los datos y hacer una prueba.

1
2
echo utf8_encode($data);
echo utf8_decode($data);

Prueba con ambos.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar caracteres especiales al cifrarlos

Publicado por bajogratis (3 intervenciones) el 24/06/2016 02:38:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
header ("Content-Type: text/plain; charset=UTF-8");
 
mb_internal_encoding("UTF-8");
mb_http_output( "UTF-8" );
ob_start("mb_output_handler");
 
function Cript($strOld, $bcode){
$resultado = "";
$target = $strOld;
$total = strlen($target);
 
for ($x = 0; $x < $total; $x++) {
$char = ord (substr($strOld,$x,1));
$CriptChar = $char ^ $bcode;
$CriptChar = utf8_encode(chr($CriptChar));
$resultado = $resultado .$CriptChar;
 
if ( $x === $total - 1){
echo mb_detect_encoding($resultado).PHP_EOL;
$cifrado = $resultado;
$file = fopen("output.txt", "w");
fwrite($file,$cifrado);
fclose($file);
return $resultado;
}
}
}
 
echo Cript("Hola mundo","123");
echo PHP_EOL.mb_internal_encoding();
 
?>

Sigue mostrando diferente 3[
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar