Unicode Codepoint Escape Syntax PHP 7-এ নতুন যুক্ত করা একটি ফিচার, যা কোডে ইউনিকোডের নির্দিষ্ট চরিত্র সহজে ব্যবহার করার সুযোগ দেয়। এই ফিচারটি \u{} সিনট্যাক্সের মাধ্যমে ইউনিকোড কোডপয়েন্ট নির্দিষ্ট করে সেই বিশেষ অক্ষর বা চিহ্নকে স্ট্রিংয়ে যুক্ত করতে সহায়ক। PHP 7-এর আগে, ইউনিকোড কোডপয়েন্ট ব্যবহার করে সরাসরি এমনভাবে অক্ষর ব্যবহার করা সম্ভব ছিল না।
Unicode Codepoint Escape Syntax এর কাজ
Unicode Codepoint Escape Syntax মূলত ইউনিকোড ক্যারেক্টার যোগ করার একটি সংক্ষিপ্ত উপায়। PHP 7 থেকে \u{} সিনট্যাক্স ব্যবহার করে ইউনিকোড কোডপয়েন্ট নির্দিষ্ট করা যায়। এটি বিশেষ করে এমন সময় উপকারী যখন আপনি কোডে কোনো নির্দিষ্ট ভাষার ক্যারেক্টার, ইমোজি বা বিশেষ চিহ্ন যোগ করতে চান।
সাধারণ গঠন:
$string = "\u{কোডপয়েন্ট}";Unicode Codepoint Escape Syntax উদাহরণ
১. সাধারণ ক্যারেক্টার যোগ করা
নিচে একটি উদাহরণ দেওয়া হলো যেখানে "A" অক্ষরটির ইউনিকোড কোডপয়েন্ট ব্যবহার করা হয়েছে।
<?php
echo "\u{0041}"; // আউটপুট: A
?>এখানে, 0041 কোডপয়েন্ট ব্যবহার করে "A" অক্ষরটি স্ট্রিংয়ে যুক্ত করা হয়েছে।
২. বাংলা ভাষার ক্যারেক্টার যোগ করা
বাংলা ভাষার ক্যারেক্টার ইউনিকোড কোডপয়েন্ট ব্যবহার করে সহজে যুক্ত করা যায়।
<?php
echo "\u{09A8}\u{09AE}\u{09B8}\u{09CD}\u{09A4}"; // আউটপুট: নমস্তে
?>এখানে 09A8, 09AE, 09B8, 09CD, এবং 09A4 ইউনিকোড কোডপয়েন্টগুলো ব্যবহার করে "নমস্তে" শব্দটি তৈরি করা হয়েছে।
৩. ইমোজি যোগ করা
ইউনিকোড কোডপয়েন্ট ব্যবহার করে PHP-তে ইমোজি যুক্ত করা সম্ভব।
<?php
echo "\u{1F600}"; // আউটপুট: 😀
?>এখানে, 1F600 কোডপয়েন্টটি ব্যবহার করে হাসির ইমোজি (😀) যুক্ত করা হয়েছে।
Unicode Codepoint Escape Syntax এর সুবিধা
- বিশেষ চিহ্ন বা ভাষার ক্যারেক্টার সহজে যোগ করা: ইউনিকোড কোডপয়েন্টের মাধ্যমে যেকোনো ভাষার অক্ষর বা বিশেষ চিহ্ন যুক্ত করা সহজ হয়।
- স্ট্রিংয়ের রিডেবিলিটি বৃদ্ধি: স্ট্রিংয়ের মধ্যে ইউনিকোড কোডপয়েন্ট ব্যবহার করলে স্ট্রিং পড়া সহজ হয় এবং সরাসরি সংশ্লিষ্ট ক্যারেক্টার কোড দেখায়।
- ইন্টারন্যাশনালাইজেশন ও লোকালাইজেশন সহজ করে: বিভিন্ন ভাষার ক্যারেক্টার সহজেই কোডে অন্তর্ভুক্ত করা যায়, যা ইন্টারন্যাশনালাইজেশন এবং লোকালাইজেশন প্রক্রিয়া সহজ করে।
Unicode Codepoint Escape Syntax এর সীমাবদ্ধতা
- PHP 7-এর আগে সমর্থিত নয়: এই সিনট্যাক্সটি শুধুমাত্র PHP 7 এবং তার পরবর্তী সংস্করণে সমর্থিত।
- কোডপয়েন্টের সীমাবদ্ধতা: Unicode Codepoint Escape Syntax শুধুমাত্র ইউনিকোডের স্ট্যান্ডার্ড ক্যারেক্টার সাপোর্ট করে, যেগুলি কোডপয়েন্ট ফরম্যাটে থাকা আবশ্যক।
- পঠনযোগ্যতার ক্ষেত্রে সীমাবদ্ধতা: বড় স্ট্রিংয়ের মধ্যে প্রচুর ইউনিকোড কোডপয়েন্ট ব্যবহার করলে কোডের পঠনযোগ্যতা কিছুটা কমতে পারে।
ব্যবহার ক্ষেত্র
- ইমোজি যুক্ত করা: ইমোজি কোডপয়েন্ট ব্যবহার করে সরাসরি স্ট্রিংয়ে যোগ করা।
- ভিন্ন ভাষার ক্যারেক্টার ব্যবহার: বিভিন্ন ভাষার বিশেষ ক্যারেক্টার বা চিহ্ন সহজে যোগ করা।
- ডেটাবেস বা ফাইল সিস্টেমে বিশেষ চিহ্ন যুক্ত করা: ডেটাবেস বা ফাইল সিস্টেমে ইউনিকোড স্ট্রিং সেভ করার জন্য।
সারসংক্ষেপ
Unicode Codepoint Escape Syntax (ইউনিকোড কোডপয়েন্ট এস্কেপ সিনট্যাক্স) PHP 7-এ একটি শক্তিশালী বৈশিষ্ট্য, যা কোডে সরাসরি ইউনিকোড কোডপয়েন্ট ব্যবহার করে বিশেষ ক্যারেক্টার যোগ করতে সহায়ক। এটি স্ট্রিংয়ের রিডেবিলিটি বাড়ায় এবং বিভিন্ন ভাষা বা বিশেষ চিহ্ন যুক্ত করার ক্ষেত্রে কার্যকর। ইন্টারন্যাশনালাইজেশন এবং লোকালাইজেশনের জন্য এটি একটি গুরুত্বপূর্ণ টুল।
Unicode Codepoint Escape PHP 7 তে প্রবর্তিত একটি বৈশিষ্ট্য, যা Unicode ক্যারেক্টারগুলোকে ইউনিকোড কোডপয়েন্ট আকারে সরাসরি ব্যবহার করতে দেয়। এটি বিশেষত সেই ক্ষেত্রে কার্যকর যেখানে অপ্রচলিত বা বিশেষ ধরনের ক্যারেক্টারগুলো সরাসরি কোডে ব্যবহার করা হয়। Unicode Codepoint Escape ব্যবহার করে কোডের মধ্যে বিভিন্ন ভাষা এবং বিশেষ প্রতীক ব্যবহার করা যায়, যা বড় প্রজেক্ট বা মাল্টিল্যাঙ্গুয়াল অ্যাপ্লিকেশনগুলির ক্ষেত্রে অত্যন্ত দরকারী।
Unicode Codepoint Escape এর ধারণা
PHP 7 থেকে, \u{} সিনট্যাক্স ব্যবহার করে আপনি ইউনিকোড ক্যারেক্টারকে সরাসরি কোডে ব্যবহার করতে পারেন। এর মাধ্যমে ইউনিকোড ক্যারেক্টার বা প্রতীককে কোডপয়েন্টের মাধ্যমে প্রকাশ করা যায়।
সাধারণ গঠন:
$string = "\u{Codepoint}";- এখানে
Codepointএর স্থানটিতে আপনি ইউনিকোড কোডপয়েন্ট প্রদান করবেন, যা একটি ইউনিকোড ক্যারেক্টারে রূপান্তরিত হবে।
উদাহরণ:
<?php
echo "\u{1F600}"; // আউটপুট হবে: 😀 (Unicode smiling face emoji)
?>এখানে \u{1F600} ইউনিকোড কোডপয়েন্ট 1F600 কে রিপ্রেজেন্ট করে, যা একটি স্মাইলি ইমোজি।
Unicode Codepoint Escape এর প্রয়োজনীয়তা
Unicode Codepoint Escape এর প্রয়োজনীয়তা মূলত বিভিন্ন ধরনের প্রতীক, ভাষা বা বিশেষ ক্যারেক্টার সমর্থন নিশ্চিত করার জন্য। এটি বিশেষ করে বড়, আন্তর্জাতিক বা মাল্টিল্যাঙ্গুয়াল প্রজেক্টে অত্যন্ত গুরুত্বপূর্ণ।
Unicode Codepoint Escape এর প্রয়োজনীয়তাগুলো হলো:
- বহুভাষিক সমর্থন: একাধিক ভাষার ক্যারেক্টার সমর্থন করতে এটি দরকারী, যেমন জাপানি, চীনা, আরবি, ইত্যাদি। PHP কোডে সরাসরি এই ভাষাগুলোর ক্যারেক্টার ব্যবহার করা কঠিন হতে পারে, তাই Unicode Codepoint Escape ব্যবহার করলে এটি সহজ হয়ে যায়।
- বিশেষ প্রতীক এবং ইমোজি ব্যবহারের সুবিধা: বিভিন্ন ইমোজি বা বিশেষ প্রতীক সরাসরি কোডে ব্যবহার করা সম্ভব নয়, তাই Unicode Codepoint Escape এর মাধ্যমে সহজেই এই ধরনের প্রতীক যোগ করা যায়।
- কোড রিডেবিলিটি এবং মেইন্টেন্যান্স: কোডে সরাসরি অপ্রচলিত বা বিশেষ ক্যারেক্টার রাখার চেয়ে Unicode Codepoint ব্যবহার করলে কোড রিডেবিলিটি বাড়ে। কারণ এক ইউনিকোড কোডপয়েন্ট দিয়ে ক্যারেক্টারকে নির্ধারণ করা যায়।
- ব্রাউজার এবং অন্যান্য প্ল্যাটফর্মে সামঞ্জস্য: অনেক সময় সরাসরি ক্যারেক্টার বা প্রতীক বিভিন্ন প্ল্যাটফর্মে সঠিকভাবে রেন্ডার নাও হতে পারে। ইউনিকোড কোডপয়েন্ট ব্যবহার করলে এটি রেন্ডারিংয়ে সামঞ্জস্য বজায় রাখতে সহায়ক হয়।
- এনকোডিং সমস্যা সমাধান: PHP কোডে সরাসরি কিছু বিশেষ ক্যারেক্টার ইনকোড করলে এনকোডিং সম্পর্কিত সমস্যা দেখা দেয়। Unicode Codepoint Escape ব্যবহার করলে এই ধরনের সমস্যা এড়ানো যায়।
Unicode Codepoint Escape এর ব্যবহার উদাহরণ
১. ইমোজি ব্যবহারে
<?php
echo "\u{1F602}"; // আউটপুট: 😂 (Laughing emoji)
echo "\u{1F60D}"; // আউটপুট: 😍 (Heart eyes emoji)
?>২. মাল্টিল্যাঙ্গুয়াল টেক্সট ব্যবহারে
<?php
echo "\u{09AE}\u{09A8}\u{09CD}\u{09A4}\u{09CD}\u{09B0}"; // আউটপুট: "মন্তব্য" (বাংলা শব্দ)
echo "\u{4E2D}\u{56FD}"; // আউটপুট: 中国 (চীনা শব্দ)
?>এখানে বাংলা এবং চীনা ভাষার ক্যারেক্টার ব্যবহার করা হয়েছে, যা সরাসরি কোডে লিখতে অসুবিধাজনক হতে পারে। Unicode Codepoint Escape ব্যবহার করে এই ধরনের ভাষা সহজেই কোডে যুক্ত করা সম্ভব।
৩. বিশেষ প্রতীক ব্যবহারে
<?php
echo "\u{2665}"; // আউটপুট: ♥ (হৃদয় প্রতীক)
echo "\u{20B9}"; // আউটপুট: ₹ (ভারতীয় রুপি চিহ্ন)
?>এখানে হৃদয় প্রতীক এবং ভারতীয় রুপি চিহ্ন Unicode Codepoint Escape ব্যবহার করে প্রদর্শন করা হয়েছে।
Unicode Codepoint Escape এর সুবিধা
- কোডের সামঞ্জস্য: এটি ক্যারেক্টারগুলিকে কোডে সরাসরি রাখার পরিবর্তে নির্দিষ্ট কোডপয়েন্ট ব্যবহার করে, যা বিভিন্ন প্ল্যাটফর্মে সামঞ্জস্যপূর্ণ।
- বহুভাষা সমর্থন: এটি অনেক ভাষা এবং প্রতীকের ব্যবহার নিশ্চিত করে, যা মাল্টিল্যাঙ্গুয়াল অ্যাপ্লিকেশনগুলির জন্য প্রয়োজনীয়।
- এনকোডিং সমস্যা থেকে মুক্তি: এটি এনকোডিং সমস্যার সমাধান করতে সহায়ক, বিশেষ করে এমন ক্যারেক্টারগুলির জন্য যা সরাসরি PHP কোডে রাখলে সমস্যা তৈরি করতে পারে।
- বিশেষ ক্যারেক্টার ব্যবহারের সহজ উপায়: Unicode Codepoint Escape এর মাধ্যমে কোডে বিশেষ প্রতীক এবং ইমোজিগুলির ব্যবহার সহজ হয়।
সারসংক্ষেপ
Unicode Codepoint Escape PHP 7-এ প্রবর্তিত একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ইউনিকোড ক্যারেক্টার বা প্রতীককে সরাসরি কোডে কোডপয়েন্ট আকারে ব্যবহার করতে দেয়। এটি বহুভাষিক সমর্থন, বিশেষ প্রতীক, এবং ইমোজি ব্যবহারে কোডকে সহজ এবং কার্যকর করে তোলে। মাল্টিল্যাঙ্গুয়াল অ্যাপ্লিকেশন ও বড় প্রজেক্টে এটি অত্যন্ত প্রয়োজনীয়, কারণ এটি কোডের সামঞ্জস্য, রিডেবিলিটি, এবং কার্যকারিতা বাড়ায়।
PHP তে Unicode Character Representation ব্যবহারের মাধ্যমে আপনি আন্তর্জাতিক ভাষা বা বিশেষ চিহ্নগুলি কাজ করতে পারেন, যা সাধারণত শুধুমাত্র ASCII ক্যারেক্টার সেটে উপলব্ধ নয়। Unicode ব্যবহার করার ফলে আপনি বিভিন্ন ভাষা, যেমন চীনা, আরবী, বাংলা, এবং অন্যান্য আন্তর্জাতিক ভাষার চরিত্রগুলি PHP এ সহজেই প্রদর্শন এবং প্রক্রিয়া করতে পারেন।
Unicode Character Representation in PHP
PHP তে Unicode এর চরিত্রগুলো বিশেষ কোড পয়েন্ট ব্যবহার করে উপস্থাপিত হয়। Unicode একটি মানক সিস্টেম যা পৃথিবীজুড়ে সকল ভাষার অক্ষর এবং প্রতীকগুলিকে একটি নির্দিষ্ট সংখ্যা দ্বারা চিহ্নিত করে।
১. Unicode Escape Sequences
PHP তে Unicode escape sequences ব্যবহার করা হয় ইউনিকোড ক্যারেক্টার প্রদর্শন করার জন্য। আপনি এই escape sequences ব্যবহার করে বিশেষ ইউনিকোড চরিত্রগুলো কোডের মধ্যে রাখতে পারেন।
- Unicode escape sequence এর সাধারণ রূপ:
\u{xxxx}, যেখানেxxxxহলো সেই ইউনিকোড ক্যারেক্টারের কোড পয়েন্ট।
Unicode Escape Sequence এর উদাহরণ:
<?php
echo "\u{2022}"; // আউটপুট হবে: • (Bullet point character)
?>এখানে, \u{2022} হলো ইউনিকোডের বুলেট পয়েন্ট চরিত্র। আপনি বিভিন্ন ইউনিকোড ক্যারেক্টার এভাবে ব্যবহার করতে পারেন।
২. utf8_encode() এবং utf8_decode()
PHP তে utf8_encode() এবং utf8_decode() ফাংশন ব্যবহার করা হয় UTF-8 এনকোডিং/ডিকোডিং এর জন্য। তবে, এগুলি শুধুমাত্র ISO-8859-1 থেকে UTF-8 রূপান্তরের জন্য প্রযোজ্য। এটি ইউনিকোড সম্পর্কিত অনেক সমস্যার সমাধান করতে সহায়ক হতে পারে, তবে UTF-8 এবং Unicode সম্পর্কিত কাজের জন্য সাধারণত আপনি mbstring এক্সটেনশন ব্যবহার করেন।
utf8_encode() উদাহরণ:
<?php
$original_string = "café"; // 'é' হলো একটি ইউনিকোড ক্যারেক্টার
$encoded_string = utf8_encode($original_string);
echo $encoded_string; // আউটপুট হবে: café
?>এখানে utf8_encode() ফাংশনটি ISO-8859-1 এনকোডিং থেকে UTF-8 তে রূপান্তর করছে।
৩. mbstring (Multibyte String) Extension
mbstring এক্সটেনশন PHP তে বিশেষভাবে Multibyte character encodings (যেমন UTF-8, Shift_JIS, EUC-JP, GB2312) কাজ করার জন্য ব্যবহৃত হয়। এটি Unicode সাপোর্টের জন্য একটি শক্তিশালী সরঞ্জাম, বিশেষ করে যখন বিভিন্ন ভাষার সাপোর্ট প্রয়োজন।
mbstring এর মাধ্যমে Unicode Character Representation:
<?php
// UTF-8 স্ট্রিংয়ে ইউনিকোড ক্যারেক্টার নিয়ে কাজ করা
$str = "Hello, مرحبا, こんにちは";
echo mb_strlen($str, 'UTF-8'); // আউটপুট হবে: 18
?>এখানে mb_strlen() ফাংশনটি UTF-8 এনকোডিং ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য গণনা করছে, যেটি ইউনিকোড ক্যারেক্টারগুলোও সঠিকভাবে গণনা করতে সক্ষম।
৪. Unicode Characters in HTML and PHP
PHP এ ইউনিকোড চিহ্ন ব্যবহার করতে, HTML ট্যাগের মধ্যে numeric character references বা named character references ব্যবহার করা যেতে পারে।
Unicode Character Using Numeric Character Reference:
<?php
echo "Unicode Character: 😀"; // আউটপুট হবে: 😀 (grinning face emoji)
?>এখানে, 😀 হলো ইউনিকোডের গ্রিনিং ফেস ইমোজির কোড পয়েন্ট।
Unicode Character Using Named Character Reference:
<?php
echo "Unicode Character: ©"; // আউটপুট হবে: © (copyright symbol)
?>এখানে, © হলো © ইউনিকোড চিহ্নের নাম।
৫. Working with Multilingual Strings
PHP তে ইউনিকোডের মাধ্যমে আপনি বহু ভাষায় কাজ করতে পারবেন, যেমন:
<?php
$bangla_text = "বাংলা ভাষা";
echo $bangla_text; // আউটপুট হবে: বাংলা ভাষা
?>এখানে, আপনি বাংলার ইউনিকোড চরিত্রগুলো ব্যবহার করে PHP তে সঠিকভাবে লেখা বা প্রদর্শন করতে পারেন।
সারসংক্ষেপ
PHP তে Unicode Character Representation আপনাকে আন্তর্জাতিক ভাষা এবং বিশেষ চরিত্রগুলির সাথে কাজ করতে সহায়ক একটি গুরুত্বপূর্ণ বৈশিষ্ট্য। আপনি ইউনিকোড ক্যারেক্টারগুলি escape sequences, mbstring এক্সটেনশন, এবং numeric character references ব্যবহার করে কোডে সঠিকভাবে ব্যবহার করতে পারেন। ইউনিকোডের সঠিক ব্যবহার নিশ্চিত করতে আপনি UTF-8 এনকোডিং এবং mbstring এক্সটেনশন ব্যবহার করতে পারেন, যা PHP-তে আন্তর্জাতিকীকরণ এবং বহু ভাষার সমর্থন সহজ করে তোলে।
JSON Encoding/Decoding PHP-তে JSON ডেটা পদ্ধতি ব্যবহার করতে ব্যবহৃত হয়, যা ডেটা স্টোরেজ এবং ট্রান্সমিশনের জন্য জনপ্রিয় ফরম্যাট। json_encode() এবং json_decode() ফাংশন ব্যবহার করে PHP-তে JSON ডেটা এনকোড এবং ডিকোড করা হয়। তবে যখন আপনি Unicode ব্যবহার করেন, বিশেষত অন্যান্য ভাষার অক্ষর যেমন বাংলা, আরবি বা চাইনিজ ক্যারেক্টার, তখন কিছু অতিরিক্ত বিষয় মাথায় রাখতে হবে।
Unicode এর মাধ্যমে JSON Encoding/Decoding
JSON এবং Unicode
JSON (JavaScript Object Notation) UTF-8 এনকোডিং অনুসরণ করে, অর্থাৎ JSON ফাইল বা স্ট্রিং সাধারণত ইউটিএফ-8 এনকোডিং পদ্ধতিতে থাকে, যা সমস্ত ইউনিকোড অক্ষর সমর্থন করে। তবে, PHP-তে json_encode() বা json_decode() ব্যবহারের সময় কিছু বিশেষ কেসে Unicode অক্ষরকে সঠিকভাবে এনকোড এবং ডিকোড করার জন্য কিছু অতিরিক্ত কৌশল প্রয়োজন হতে পারে।
১. JSON Encoding with Unicode Characters (Unicode সহ JSON এনকোডিং)
PHP তে json_encode() ফাংশনটি ব্যবহার করে আপনি একটি অ্যারে বা অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করতে পারেন। json_encode() ইউনিকোড অক্ষরগুলি সঠিকভাবে এনকোড করে, তবে আপনি যদি বিশেষভাবে ইউনিকোড ক্যারেক্টারকে escape করতে চান (যেমন: \uXXXX ফরম্যাটে), তখন JSON_UNESCAPED_UNICODE ফ্ল্যাগ ব্যবহার করতে হবে।
উদাহরণ: JSON Encoding with Unicode
<?php
$data = [
"name" => "John Doe",
"message" => "こんにちは、世界!" // Japanese for "Hello, World!"
];
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json; // আউটপুট হবে: {"name":"John Doe","message":"こんにちは、世界!"}
?>এখানে, JSON_UNESCAPED_UNICODE ফ্ল্যাগটি ব্যবহার করা হয়েছে যাতে ইউনিকোড অক্ষরগুলি \u escape ক্যারেক্টারের পরিবর্তে প্রকৃত অক্ষর হিসাবে প্রদর্শিত হয়। যদি আপনি এই ফ্ল্যাগটি না ব্যবহার করেন, তবে JSON স্ট্রিংটি \uXXXX ফরম্যাটে ইউনিকোড অক্ষরগুলো দেখাবে।
২. JSON Decoding with Unicode Characters (Unicode সহ JSON ডিকোডিং)
PHP তে json_decode() ফাংশনটি JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করতে ব্যবহৃত হয়। json_decode() সাধারণত ইউনিকোড চরিত্রগুলি সঠিকভাবে ডিকোড করে, তবে আপনি যদি ডিকোড করার পর JSON স্ট্রিং এর ইউনিকোড অক্ষরগুলোকে সঠিকভাবে প্রদর্শন করতে চান, তবে আপনাকে কিছু পদ্ধতি অনুসরণ করতে হবে।
উদাহরণ: JSON Decoding with Unicode
<?php
$json = '{"name":"John Doe","message":"こんにちは、世界!"}'; // Japanese for "Hello, World!"
$data = json_decode($json, true);
echo $data['message']; // আউটপুট হবে: こんにちは、世界!
?>এখানে, json_decode() স্বয়ংক্রিয়ভাবে ইউনিকোড অক্ষরগুলি সঠিকভাবে ডিকোড করে, এবং $data['message'] এ এটি প্রকৃত "こんにちは、世界!" হিসেবে প্রদর্শিত হয়। আপনি যদি JSON_UNESCAPED_UNICODE ফ্ল্যাগটি ব্যবহার না করেন, তবে JSON স্ট্রিংটি \uXXXX ফরম্যাটে থাকলেও PHP স্বয়ংক্রিয়ভাবে এটি সঠিক অক্ষরে রূপান্তর করবে।
৩. Unicode Escape (Unicode Escape Sequence)
যদি আপনি চান যে ইউনিকোড অক্ষরগুলি escape হওয়া অবস্থায় (যেমন \uXXXX ফরম্যাটে) JSON স্ট্রিং হিসাবে এনকোড হোক, তবে আপনি JSON_UNESCAPED_UNICODE ফ্ল্যাগটি ব্যবহার করবেন না। এভাবে, আপনি JSON স্ট্রিংটি ইউনিকোড escape সিকোয়েন্স হিসেবে পাবেন।
উদাহরণ: Unicode Escape Sequence
<?php
$data = [
"name" => "John Doe",
"message" => "こんにちは、世界!" // Japanese for "Hello, World!"
];
$json = json_encode($data);
echo $json; // আউটপুট হবে: {"name":"John Doe","message":"\u3053\u3093\u306b\u3061\u306f\uff0c\u4e16\u754c\uff01"}
?>এখানে, ইউনিকোড অক্ষরগুলো escape হয়ে \u3053\u3093\u306b\u3061\u306f\uff0c\u4e16\u754c\uff01 রূপে এনকোড হয়েছে।
৪. UTF-8 Encoding নিশ্চিত করা
আপনি যখন JSON ডেটা এনকোড এবং ডিকোড করছেন, তখন নিশ্চিত করুন যে আপনার PHP স্ক্রিপ্টের ইনপুট এবং আউটপুট ডেটা UTF-8 এনকোডিংয়ে আছে। json_encode() এবং json_decode() শুধুমাত্র UTF-8 এনকোডেড ডেটা সঠিকভাবে প্রক্রিয়া করে। তাই ডেটার ইনপুট বা আউটপুট UTF-8 এনকোডেড কিনা, তা নিশ্চিত করতে হবে।
উদাহরণ: UTF-8 Encoding
<?php
header('Content-Type: application/json; charset=UTF-8'); // UTF-8 Content-Type header
$data = [
"greeting" => "こんにちは"
];
echo json_encode($data, JSON_UNESCAPED_UNICODE); // আউটপুট হবে: {"greeting":"こんにちは"}
?>এখানে, header('Content-Type: application/json; charset=UTF-8') দিয়ে আমরা নিশ্চিত করেছি যে JSON ডেটাটি UTF-8 এনকোডেড থাকবে।
সারসংক্ষেপ
- Unicode সহ JSON এনকোডিং: PHP তে
json_encode()ফাংশন ব্যবহার করে আপনি ইউনিকোড অক্ষর সঠিকভাবে এনকোড করতে পারেন।JSON_UNESCAPED_UNICODEফ্ল্যাগ ব্যবহার করলে অক্ষরগুলি\uXXXXescape সিকোয়েন্স ছাড়াই দেখা যাবে। - JSON ডিকোডিং:
json_decode()স্বয়ংক্রিয়ভাবে ইউনিকোড অক্ষর সঠিকভাবে ডিকোড করে, এবং আপনিtrueআর্গুমেন্ট দিয়ে অ্যারে হিসেবে ডেটা নিতে পারেন। - Unicode Escape Sequence: যদি আপনি ইউনিকোড অক্ষরগুলি escape সিকোয়েন্স হিসেবে চান, তবে
JSON_UNESCAPED_UNICODEফ্ল্যাগ ব্যবহার করবেন না। - UTF-8 এনকোডিং নিশ্চিত করা: JSON এনকোডিং এবং ডিকোডিং প্রক্রিয়া সঠিকভাবে কাজ করার জন্য আপনার ডেটা অবশ্যই UTF-8 এনকোডেড হতে হবে।
এভাবে আপনি PHP তে JSON এনকোড এবং ডিকোড করার সময় ইউনিকোড অক্ষরগুলি সঠিকভাবে হ্যান্ডল করতে পারেন।
Read more