Jak mogę sprawdzić, czy znak jest znakiem Unicode czy nie z PHP?Sprawdź kodowanie Unicode w PHP
Odpowiedz
Właściwie nawet nie potrzeba rozszerzenia mb_string:
if (strlen($string) != strlen(utf8_decode($string)))
{
echo 'is unicode';
}
i znaleźć punkt kod danego znaku:
$ord = unpack('N', mb_convert_encoding($string, 'UCS-4BE', 'UTF-8'));
echo $ord[1];
dzięki eyeze !!!! ten kod worx .... dziękuję bardzo .. – Orion
@Raveesh: Jeśli moja odpowiedź rozwiązała twój problem, możesz oznaczyć go jako zaakceptowany. =) –
działa idealnie z moim arabskim unicode, aby określić RTL, dzięki :) –
Byłbyś zwykle zrobić coś takiego:
if (mb_strlen($ch) != strlen($ch)) ...
Dodam: zlicza STRLEN bajtów, podczas gdy mb_strlen liczy znaków (właściwie obsługi znaków wielo-bajtowych, co chyba jest to, czego naprawdę mówimy o zamiast Unicode - Unicode obejmuje również ponad stu znaków jednobajtowych odróżnienia od ASCII)
cześć searlea, dzięki za szybką reakcję! właśnie tego szukałem. – Orion
Sprawdziłem to i otrzymałem wynik poniżej: Php $ ch = 'രവീഷ്'; // moje imię w języku malajalam echo mb_strlen ($ ch). "
"; echo strlen ($ ch). "
"; if (mb_strlen ($ ch)!= strlen ($ ch)) \t echo "Unicode"; else \t echo "Non-Unicode"; ?> jego dając wynik niż Unicode Co może być problemem? –
Orion
Ten kod wydaje się działać! .. i będzie pomocne, jeśli możesz mi pomóc znaleźć funkcję, aby uzyskać punkt kodowy w kodzie Unicode? – Orion
Niech $ s będzie "somestring", więc jeśli (mb_check_encoding ($ s, "UTF-8")) to {ciąg jest unikodem} else {to nie jest unicode} –
Znak Unicode będzie ZAWSZE mieć najbardziej znaczący zestaw bajtów, niezależnie od wartości znaku lub jeśli jest częścią wielobajtowej postaci Unicode lub co. Nie można po prostu sprawdzić, czy łańcuch ma więcej bajtów niż znaków, ponieważ niektóre znaki Unicode są tylko jeden bajt. Jeśli dowolny znak w wartości ciągu bajtów jest większy niż 127, ten ciąg zawiera kod Unicode.
jak mogę uzyskać kod punktu o znaku Unicode ? – Orion
To powinno pomóc: http://www.joelonsoftware.com/articles/Unicode.html –
Dzięki chłopaki .. W końcu dostałem odpowiedź, szukałem .
Masz plik włączeń od http://hsivonen.iki.fi/php-utf8/.
Poniższy kod rozwiązać mój problem:
<?php
require_once("utf8.inc");
/*** create a unicode string ***/
$s = "حملة إلا صلاتي";
$out = utf8ToUnicode($s);
for ($i=0;$i < strlen($s);$i++)
echo dechex($out[$i]).".";
?>
Struny w PHP - nie są bytestreams Strumienie znakowe. W rzeczywistości nie można mieć ciągów unicode w PHP; Musisz kodować swoje znaki za pomocą kodowania. Jeśli chcesz objąć cały zakres Unicode, najbardziej oczywistym wyborem jest UTF-8.
Jeśli chcesz uzyskać kodowy o kodowanie UTF-8 bytestream, można korzystać z tej biblioteki: http://hsivonen.iki.fi/php-utf8/
Jednak zastanawiam się, co dokładnie trzeba to wszystko? Najprawdopodobniej możesz rozwiązać wszystkie swoje problemy, po prostu używając utf-8.
- 1. Jak wyłączyć kodowanie Unicode w Delphi xe2
- 2. kodowanie substr_replace w PHP
- 3. Kodowanie html w PHP
- 4. Unicode w PHP JSON
- 5. Ruby: Fuzzowanie wszystkich znaków Unicode (kodowanie UTF/kodowanie/ciąg)
- 6. Czy ktoś może wyjaśnić kodowanie Unicode Gsona?
- 7. Python i MySql: Unicode i kodowanie
- 8. Wykryj kodowanie base64 w PHP?
- 9. Kody Unicode Kodowanie i dekodowanie w kodzie QR Kod
- 10. Kodowanie systemu plików PHP wykrywające kodowanie
- 11. Kodowanie pliku PHP
- 12. Drukowanie znaków Unicode PHP
- 13. PHP, str_pad, unicode, numer:
- 14. Jak przekonwertować kodowanie UTF-8 do Unicode w Javie?
- 15. Używanie PHP znaleźć Unicode znaku
- 16. Sprawdź błędy składni PHP?
- 17. Sprawdź poprawność gravatar (PHP)
- 18. Sprawdź, czy znak jest literą w Delphi (Unicode)
- 19. Sprawdź, czy obraz istnieje php
- 20. php sprawdź czy kliknięto link
- 21. PHP: Urodziny sprawdź dzisiejszą datę
- 22. php: sprawdź, czy ścieżka istnieje?
- 23. Sprawdź, czy linki są uszkodzone w php
- 24. Sprawdź, czy klasa ma metody w PHP
- 25. Kodowanie nagłówków w MIMEText
- 26. C# do PHP base64 kodowanie/dekodowanie
- 27. Sprawdź wersję sterownika php MongoDB
- 28. PHP: Unikodowany znak i znaki diakrytyczne Unicode
- 29. Rails 3, sprawdź kodowanie pliku CSV przed zaimportowaniem
- 30. Wyrażenia regularne dla różnych punktów Unicode PHP
Możesz chcieć wyjaśnić, co dokładnie masz na myśli z Unicode w tym kontekście. Wątpię, abyś napotkał znaki nie zdefiniowane w Unicode, więc twój check może po prostu zwrócić "true" w każdym przypadku. – Joey
Chcę uzyskać kod punktu charecter unicode. jak to zrobić ... – Orion
@ Rössel: Wierzę, że chce wiedzieć, czy ciąg zawiera znaki inne niż ASCII. –