केवल आज UTF8 में एक UTF8 मेज पर latin1 पात्रों कन्वर्ट मुझे एहसास हुआ कि मैं अपने PHP स्क्रिप्ट में इस याद आ रही थी:MySQL -
mysql_set_charset('utf8');
मेरे सभी तालिकाओं InnoDB, मिलान "utf8_unicode_ci" हैं, और मेरे सारे VARCHAR कॉलम "utf8_unicode_ci" भी हैं। मेरे पास मेरी PHP स्क्रिप्ट पर mb_internal_encoding('UTF-8');
है, और मेरी सभी PHP फ़ाइलों को यूटीएफ -8 के रूप में एन्कोड किया गया है।
तो, अब तक, हर बार जब मैं विशेषक के साथ कुछ "डालें", उदाहरण:
mysql_query('INSERT INTO `table` SET `name`="Jáuò Iñe"');
'नाम' सामग्री हो सकता है, इस मामले में: Jáuò Iñe
।
चूंकि मैंने PHP और MySQL के बीच वर्णमाला तय की है, इसलिए नए आईएनएसईआरटी अब सही तरीके से संग्रहित हो रहे हैं। हालांकि, मैं इस समय "पुरानी" सभी पुरानी पंक्तियों को ठीक करना चाहता हूं। मैंने पहले से ही कई चीजों की कोशिश की, लेकिन यह हमेशा पहले "अवैध" चरित्र पर तार तोड़ देता है।
$m = mysql_real_escape_string('¿<?php echo "¬<b>\'PHP á (á)ţăriîş </b>"; ?> ă-ţi abcdd;//;ñç´พดแทฝใจคçăâξβψδπλξξςαยนñ ;');
mysql_set_charset('utf8');
mysql_query('INSERT INTO `table` SET `name`="'.$m.'"');
mysql_set_charset('latin1');
mysql_query('INSERT INTO `table` SET `name`="'.$m.'"');
mysql_set_charset('utf8');
$result = mysql_iquery('SELECT * FROM `table`');
while ($row = mysql_fetch_assoc($result)) {
$message = $row['name'];
$message = mb_convert_encoding($message, 'ISO-8859-15', 'UTF-8');
//$message = iconv("UTF-8", "ISO-8859-1//IGNORE", $message);
mysql_iquery('UPDATE `table` SET `name`="'.mysql_real_escape_string($message).'" WHERE `a1`="'.$row['a1'].'"');
}
यह "अद्यतन" उम्मीद पात्रों के साथ है, को छोड़कर स्ट्रिंग चरित्र 'ए' के बाद काट दिया जाता है कि: यहाँ मेरे वर्तमान कोड है। मेरा मतलब है, उस चरित्र और निम्नलिखित वर्ण स्ट्रिंग पर शामिल नहीं हैं।
इसके अलावा, "() iconv" (है कि कोड पर टिप्पणी की है) भी // ध्यान न दें और // translit
मैं भी कई वर्णसेट परीक्षण किया है, आईएसओ 8859- के बीच के साथ, एक ही करता है के साथ परीक्षण 1 और आईएसओ -885 9-15।
मुझे वास्तव में यहां सहायता चाहिए! धन्यवाद।
वाह आप मेरा दिन बचाया का उपयोग करें!मैंने कभी भी उन कार्यों का उपयोग नहीं किया, जिनका उपयोग अब अद्यतन पर किया गया था और यह काम करता था। आपका बहुत बहुत धन्यवाद! – Nuno
इसके लिए धन्यवाद! मैंने एक छोटी सी PHP स्क्रिप्ट बनाई है जो प्रत्येक तालिका में सभी कॉलम के माध्यम से लूप करता है। चाल है :) – wiesson
बहुत कम ABS धन्यवाद !!!!! बहुत से संबंधित SO प्रश्न हैं, लेकिन केवल इस में एक यूटएफ -8 – alds