簡體   English   中英

MySQL UTF-8字符插入問題

[英]MySQL UTF-8 Character insert issue

我正在從Facebook獲取一些字符串,但是我不知道字符串中的鞭子編碼。 在插入數據庫表之前,我需要將此字符串轉換為utf8。 獲取此錯誤消息。 錯誤截圖

這是我的PHP代碼。

$email = (isset($this->_userinfo['email']) ? $this->_userinfo['email'] : '');
$fname = $this->_userinfo['first_name'];
$lname = $this->_userinfo['last_name'];
$name  = $this->_userinfo['name'];

$sql = 'INSERT INTO users '
     . '(fbid, fbuid, fullname, userlevel, email, name, sirname) '
     . 'VALUES("'
     . $this->_fbid . '","'
     . $fbuid . '","'
     . $name . '","' 
     . $userlevel . '","' 
     . $email . '","' 
     . $fname . '","' 
     . $lname . '")';

您是否嘗試過此代碼?

   mysql_query('set names utf8'); 

看看utf8_encode為您完成此操作。 請記住,這僅在您的數據實際上是UTF-8編碼的情況下才有效。 不幸的是,沒有辦法僅查看字符串並查看其使用的編碼。

您可能想看一下這個問題:

檢測編碼並制作一切UTF-8

特別是塞巴斯蒂安·格里諾利Sebastian Grinoli)的第二個答案

他編寫了一個類(並提供了指向它的鏈接),該類將Windows Extended ASCII正確編碼為UTF8,並在必要時更正UTF8。

當您在UTF8領域時,這是一個非常方便的工具:)

在此處輸入鏈接說明

對我來說,下面的代碼:

$ mysqli = mysqli_connect(...); mysqli_query($ mysqli,'SET NAMES“ utf8” COLLATE“ utf8_general_ci”');

要不就:

mysqli_set_charset($ mysqli,'utf8');

祝您好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM