का उपयोग करके यूनिकोड स्ट्रिंग (हिंदी) को संग्रहीत और प्रदर्शित करना मुझे एक MySQL डेटाबेस में हिंदी टेक्स्ट संग्रहीत करना है, इसे PHP स्क्रिप्ट का उपयोग करके इसे वेबपृष्ठ पर प्रदर्शित करना है। मैंने निम्नलिखित किया:PHP और MySQL
मैंने डेटाबेस बनाया और यूटीएफ -8 में अपनी एन्कोडिंग सेट की और utf8_bin
पर भी कॉलेशन सेट किया। मैंने तालिका में एक वर्चर फ़ील्ड जोड़ा और इसे चार्टसेट प्रॉपर्टी में यूटीएफ -8 टेक्स्ट स्वीकार करने के लिए सेट किया।
फिर मैंने इसमें डेटा जोड़ने के बारे में सेट किया। यहां मुझे existing site से डेटा कॉपी करना पड़ा। हिंदी पाठ इस तरह दिखता है: सूर्योदय: 05: 30
मैंने सीधे इस पाठ को अपने डेटाबेस में कॉपी किया और डेटा प्रदर्शित करने के लिए PHP कोड echo(utf8_encode($string))
का उपयोग किया। ऐसा करने पर ब्राउज़र ने मुझे "??????" दिखाया।
जब मैंने ब्राउजर में "स्रोत देखें" पर जाकर टेक्स्ट के यूटीएफ समकक्ष को सम्मिलित किया, हालांकि, सूर्योदय सूर्योदय
में अनुवाद करता है।
यदि मैं डेटाबेस में सूर्योदय
दर्ज और स्टोर करता हूं, तो यह पूरी तरह से परिवर्तित हो जाता है।
तो मैं क्या जानना चाहता हूं कि मैं सीधे अपने डेटाबेस में सूर्योदय को कैसे स्टोर कर सकता हूं और इसे प्राप्त कर सकता हूं और इसे PHP का उपयोग करके अपने वेबपृष्ठ में प्रदर्शित कर सकता हूं।
इसके अलावा, क्या कोई मुझे समझने में मदद कर सकता है कि कोई स्क्रिप्ट है जो जब मैं सूर्योदय में टाइप करता हूं, तो मुझे सूर्योदय
देता है?
समाधान मिले
मैं निम्न नमूना स्क्रिप्ट जो मेरे लिए काम किया लिखा था। आशा है कि यह भी किसी और में मदद करता है
<html>
<head>
<title>Hindi</title></head>
<body>
<?php
include("connection.php"); //simple connection setting
$result = mysql_query("SET NAMES utf8"); //the main trick
$cmd = "select * from hindi";
$result = mysql_query($cmd);
while ($myrow = mysql_fetch_row($result))
{
echo ($myrow[0]);
}
?>
</body>
</html>
डंप मेरी डेटाबेस हिंदी utf तार भंडारण के लिए
CREATE TABLE `hindi` (
`data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `hindi` VALUES ('सूर्योदय');
अब मेरे सवाल है, यह कैसे "मेटा" निर्दिष्ट किए बिना काम किया या जानकारी शीर्षक है?
धन्यवाद!
इसके अलावा: http://stackoverflow.com/questions/1085093/strategy-for-supporting-unicode-multi-language-in-php5/ – deceze
"नाम UTF8 SET" मेरे लिए चाल किया! धन्यवाद –
यह हेडर सेट किए बिना भी क्यों काम करता है? –