Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] ASCII DEC do UTF-8
desavil
post
Post #1





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

Ostrzeżenie: (0%)
-----


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!

Ten post edytował desavil 16.02.2017, 12:48:12
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


użyj preg_replace_callback() z funkcją chr() http://devdocs.io/php/function.chr
Go to the top of the page
+Quote Post
desavil
post
Post #3





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

Ostrzeżenie: (0%)
-----


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?

Ten post edytował desavil 16.02.2017, 13:48:50
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Windows-1250
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 23:50