में यूनिकोड की जांच करें मैं कैसे जांच सकता हूं कि कोई चरित्र यूनिकोड वर्ण है या PHP के साथ नहीं है?PHP
PHP
उत्तर
वास्तव में आप भी mb_string विस्तार की जरूरत नहीं है:
if (strlen($string) != strlen(utf8_decode($string)))
{
echo 'is unicode';
}
और किसी दिए गए चरित्र का कोड बिंदु को खोजने के लिए:
$ord = unpack('N', mb_convert_encoding($string, 'UCS-4BE', 'UTF-8'));
echo $ord[1];
धन्यवाद आंखें !!!! यह कोड वर्क्स .... बहुत बहुत धन्यवाद .. – Orion
@ रावेश: अगर मेरे उत्तर ने आपकी समस्या हल की है तो आप इसे स्वीकार कर सकते हैं। =) –
यह आरटीएल निर्धारित करने के लिए मेरे अरबी यूनिकोड के साथ पूरी तरह से काम करता है, धन्यवाद :) –
आप आम तौर पर की तरह कुछ करना चाहते हैं: जबकि mb_strlen वर्ण मायने रखता है (ठीक से बहु-बाइट वर्ण, जो मुझे लगता है कि निपटने strlen मायने रखता है बाइट्स, क्या तुम सच में के बारे में बात कर रहे हैं है:
if (mb_strlen($ch) != strlen($ch)) ...
मैं जोड़ने चाहिए बल्कि यूनिकोड से - के रूप में यूनिकोड भी ASCII से पृथक एक सौ सिंगल-बाइट वर्ण)
हाय searlea, आपकी तेज प्रतिक्रिया के लिए धन्यवाद! यही वह है जिसकी तलाश में मैं हूं। – Orion
आईव ने इसे चेक किया और परिणाम Php $ ch = 'രവീഷ്'; // मलयालम में मेरा नाम गूंज mb_strlen ($ ch)। "
"; echo strlen ($ ch)। "
"; अगर (mb_strlen ($ ch)!= strlen ($ ch)) \t गूंज "यूनिकोड"; अन्य \t गूंज "गैर-यूनिकोड"; ?> उसके परिणाम दे रही है गैर यूनिकोड क्या समस्या हो सकती है? –
Orion
यह कोड काम कर रहा है !! .. और यह उपयोगी होगा अगर आप एक यूनिकोड charecter के कोड बिंदु प्राप्त करने के लिए एक समारोह खोजने में मेरी मदद कर सकते हैं? – Orion
$ s "somestring" होने दें, तो अगर (mb_check_encoding ($ s, "UTF-8")) तो {स्ट्रिंग यूनिकोड} है {else यह यूनिकोड नहीं है} –
एक यूनिकोड चरित्र हमेशा सबसे महत्वपूर्ण बाइट सेट होगा चाहे चरित्र का मूल्य क्या हो या यदि यह बहु-बाइट यूनिकोड चरित्र या क्या है। आप यह देखने के लिए जांच नहीं सकते कि स्ट्रिंग में वर्णों की तुलना में अधिक बाइट हैं या नहीं, क्योंकि कुछ यूनिकोड वर्ण केवल एक बाइट हैं। यदि स्ट्रिंग के बाइट मान में कोई भी वर्ण 127 से अधिक है, तो उस स्ट्रिंग में यूनिकोड होता है।
मैं यूनिकोड char का कोड पॉइंट कैसे प्राप्त कर सकता हूं ? – Orion
यह मदद करनी चाहिए: http://www.joelonsoftware.com/articles/Unicode.html –
धन्यवाद लोग .. अंत में मैं इस सवाल का जवाब मिल गया मैं को ढूंढ रहा था ।
http://hsivonen.iki.fi/php-utf8/ से फ़ाइल शामिल करें। - नहीं चरित्र धाराओं
PHP में<?php
require_once("utf8.inc");
/*** create a unicode string ***/
$s = "حملة إلا صلاتي";
$out = utf8ToUnicode($s);
for ($i=0;$i < strlen($s);$i++)
echo dechex($out[$i]).".";
?>
स्ट्रिंग्स bytestreams हैं:
निम्नलिखित कोड मेरी समस्या हल। आप वास्तव में PHP में यूनिकोड तार नहीं कर सकते हैं; आपको कुछ एन्कोडिंग के साथ अपने पात्रों को एन्कोड करने की आवश्यकता है। यदि आप पूरी यूनिकोड रेंज को कवर करना चाहते हैं, तो यूटीएफ -8 सबसे स्पष्ट विकल्प है।
आप एक UTF-8 एन्कोडेड bytestream की कोडपॉइंट प्राप्त करना चाहते हैं, तो आप इस लाइब्रेरी का उपयोग कर सकते हैं: http://hsivonen.iki.fi/php-utf8/
हालांकि, मुझे आश्चर्य है कि वास्तव में क्या आप के लिए यह आवश्यकता है? सबसे अधिक संभावना है कि आप utf-8 का उपयोग कर अपने सभी दुःखों को हल कर सकते हैं।
हाय दोस्तों .. मेरी सरल आवश्यकता बाइट स्ट्रीम के कोड पॉइंट को ढूंढना था और मुझे इसे http: //hsivonen.iki से लाइब्रेरी के माध्यम से मिला। फाई/php-UTF8/!! बहुत बहुत धन्यवाद !! – Orion
मैं अभी भी वास्तव में नहीं देखता कि आप पहली बार क्या समस्या हल कर रहे थे। मुझे पूरा यकीन है कि आप अपने लिए एक छेद खोद रहे हैं। – troelskn
आप यह स्पष्ट करना चाहते हैं कि इस संदर्भ में यूनिकोड के साथ आपका क्या मतलब है। मुझे संदेह है कि आपको यूनिकोड में परिभाषित वर्णों का सामना करना पड़ेगा, इसलिए आपकी जांच हर मामले में 'सत्य' वापस कर सकती है। – Joey
मैं एक यूनिकोड charecter का कोड बिंदु प्राप्त करना चाहता हूँ। यह कैसे किया जा सकता है .. – Orion
@ रोस्सेल: मेरा मानना है कि वह जानना चाहता है कि क्या एक स्ट्रिंग में ASCII के अलावा अन्य वर्ण हैं। –