ठीक है मैं अंत में इसे काम करने में कामयाब रहा! हर किसी के लिए धन्यवाद जिन्होंने मेरी मदद करने की कोशिश की, खासकर @ रिक जेम्स और @ जेरार्ड रोश।
सुझाव:
यदि आपको इमोजी के साथ काम करने की आवश्यकता है, तो सबसे पहले लोकलहोस्ट पर सरल परीक्षण करें। एक नया डेटाबेस बनाएं और परीक्षण के उद्देश्य से एक नया ऐप बनाएं।
यदि आप मेरे द्वारा प्रश्न में लिखे गए चरणों का पालन करते हैं या यदि आप इस ट्यूटोरियल का अनुसरण करते हैं: https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 यह काम करना चाहिए।
एक ताज़ा बुनियादी ऐप पर स्थानीय रूप से काम करने से आपके पास अपनी ज़रूरत के सभी परीक्षण करने के लिए अधिक नियंत्रण और अधिक जगह होगी।
समाधान:
मेरे मामले में समस्या कोडइग्निटर में डेटाबेस के विन्यास में थी। यह एक बेवकूफी के लिए char_set और संयोजन को ठीक से स्थापित नहीं कर रहा था:मैं फ़ंक्शन में डेटाबेस सेटिंग्स को ओवरराइड कर रहा था जो संदेशों को यह सुनिश्चित करने के लिए सहेजता है कि यह मोबाइल डेटाबेस के साथ काम कर रहा है।
पहले:
function message_save ( $data = FALSE )
{
$project_db_config = array();
$project_db_config['hostname'] = 'MY_HOST';
$project_db_config['username'] = 'MY_USERNAME';
$project_db_config['password'] = 'MY_PASSWORD';
$project_db_config['database'] = 'MY_DATABASE';
$mobile_db = $this->load->database( $project_db_config, TRUE );
// other code to save message
}
बाद:
function message_save ( $data = FALSE )
{
$mobile_db_connection = $this->load->database('admin_mobile_mh', TRUE);
// other code to save message
}
निष्कर्ष:
ऐप को डेटाबेस से कनेक्शन ठीक से सेट करना होगा। यदि आपके पास डेटाबेस ठीक से सेटअप है लेकिन आप अपने ऐप के साथ उचित कनेक्शन नहीं बनाते हैं, तो यह काम नहीं करेगा।
इसलिए यदि आप इसी तरह की समस्याओं का सामना करते हैं, तो सुनिश्चित करें कि एपीआई char_set
. को ठीक से सेटअप करता है utf8mb4
. के रूप में और db_collat
utf8mb4_unicode_ci
. के रूप में ।