Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
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 (IMG:style_emoticons/default/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.
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 (IMG:style_emoticons/default/winksmiley.jpg)
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 (IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 03:54