Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP के साथ MySQL से utf8mb4 डेटा में हेरफेर करना

मेरा अनुमान है कि आप टेबल को utf8mb4 . पर सेट कर रहे हैं , लेकिन आपका कनेक्शन एन्कोडिंग utf8 . पर सेट है . आपको इसे utf8mb4 . पर सेट करना होगा साथ ही, अन्यथा MySQL संग्रहित utf8mb4 . को रूपांतरित कर देगा utf8 . को डेटा , जिनमें से बाद वाला "उच्च" यूनिकोड वर्णों को एन्कोड नहीं कर सकता है। (हां, यह एक MySQL idiosyncrasy है।)

कच्चे MySQL कनेक्शन पर, इसे इस तरह दिखना होगा:

SET NAMES 'utf8mb4';
SELECT * FROM `my_table`;

PHP (mysql, mysqli या PDO) से आप MySQL से कैसे जुड़ते हैं, इसके आधार पर आपको इसे क्लाइंट के सर्वोत्तम तरीके से अनुकूलित करना होगा।

वास्तव में स्पष्ट करने के लिए (हाँ, mysql_ . का उपयोग करके सरलता के लिए एक्सटेंशन, घर पर ऐसा न करें):

mysql_connect(...);
mysql_select_db(...);
mysql_set_charset('utf8mb4');     // adapt to your mysql connector of choice

$r = mysql_query('SELECT * FROM `my_table`');

var_dump(mysql_fetch_assoc($r));  // data will be UTF8 encoded


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में मूविंग एवरेज की गणना कैसे करें

  2. MySQL वर्कबेंच का उपयोग करके MySQL को कैसे रोकें / प्रारंभ करें

  3. SQL सर्वर - SQL_NO_CACHE और विकल्प (RECOMPILE)

  4. PHP के साथ MySQL डेटाबेस में सरणी डालें

  5. DATETIME प्रारूप मान में 1 दिन जोड़ना