[英]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編碼的情況下才有效。 不幸的是,沒有辦法僅查看字符串並查看其使用的編碼。
您可能想看一下這個問題:
特別是塞巴斯蒂安·格里諾利 ( 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.