Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] ASCII DEC do UTF-8
Forum PHP.pl > Forum > Przedszkole
desavil
Witam,

Mam string w postaci:
  1. To jest jaki\156 tekst. Symbol Euro to \128.

Jak widać polskie znaki (i niektóre specjalne jak €) są zapisywane w formacie kodów DEC z tablicy ASCII.
W jaki sposób mogę to przekonwertować do UTF-8, aby po prostu wyświetlić cały tekst poprawnie?

Pozdrawiam!
Pyton_000
użyj preg_replace_callback() z funkcją chr() http://devdocs.io/php/function.chr
desavil
Zrobiłem więc tak:
  1. echo preg_replace_callback('/\\\\(\d+)/m', function($matches) { return chr($matches[1]); }, 'To jest jaki\156 tekst. Symbol Euro to \128.');

Wynik:
  1. To jest jaki tekst. Symbol Euro to .



Zrobiłem coś takiego:
  1. return iconv('Windows-1252', 'UTF-8//IGNORE', chr($matches[1]));

Jest już lepiej - symbol € wyświetla się prawidłowo, jednak polskie znaki nie:
  1. To jest jakiœ tekst. Symbol Euro to .


Ma ktoś jakiś pomysł jak mógłbym to zrobić poprawnie?
trueblue
Windows-1250
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.