Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kod znaku?
Jabol
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Wiem jak pobrać kod znaku, który jest w tabeli ASCII (ord()), ale jak pobrać kod znaku zapisanego np. w iso8859-2 lub utf-8?? Czy to się wogule da zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Temat stary ale dla mnie nadal aktualny dry.gif

Jak pobrać kod numeryczny Unicode (UTF-8) danego znaku?

Czyli dla Ć -> 262 itp

Chciałbym uniknąć tworzenia tablicy asocjacyjnej, może jest jakaś gotowa funkcja?
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




ord
Nie wiem czy zadziała dla polskich znaków.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
#luq
post
Post #4





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


ord, strlen etc. działają jedynie dla znaków ASCII.
Właśnie dla tego powinno się używać funkcji z rodziny mb_xxx bo one działają na całej tablicy unicode. Niestety nie ma funkcji mb_ord.
Natomiast chwila szukania i dostałem http://stackoverflow.com/questions/1365583...de-value-in-php powinno pomóc winksmiley.jpg


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
cycofiasz
post
Post #5





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Dzięki #luq , o to właśnie chodziło winksmiley.jpg

Wklejam ów funkcję dla potomnych:

  1. function mb_ord($string)
  2. {
  3. if (extension_loaded('mbstring') === true)
  4. {
  5. mb_language('Neutral');
  6. mb_internal_encoding('UTF-8');
  7. mb_detect_order(array('UTF-8', 'ISO-8859-15', 'ISO-8859-1', 'ASCII'));
  8.  
  9. $result = unpack('N', mb_convert_encoding($string, 'UCS-4BE', 'UTF-8'));
  10.  
  11. if (is_array($result) === true)
  12. {
  13. return $result[1];
  14. }
  15. }
  16.  
  17. return ord($string);
  18. }
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 00:56