簡體   English   中英

MySQL數據庫中的數據在網站中無法正確顯示

[英]Data in MySQL database doesn't show correctly in website

我正在嘗試將英語網站翻譯成波斯語。 我面臨的問題是:

  1. 網站以拉丁Unicode加載,因此我不得不將字符集更改為utf-8,以便內容在波斯語中正確顯示
  2. 網站上未正確顯示MySQL數據庫中的數據,可能是Unicode問題的原因

我做了什么:

<?php ini_set('default_charset','utf-8'); header('Content-type: text/html; charset=utf-8'); ?>

由此,問題#1得以解決

但是對於問題2,盡管我已經更改了表以使用utf 8,但我仍然面臨該問題,但是問題仍然存在。 我很高興看到有人可以如何幫助我。 函數bbcode($ str){// $ str = htmlentities($ str);

$token = array(
            "'\[b\](.*?)\[/b\]'is",                                  
            '/\[i\](.*?)\[\/i\]/is',                                
            '/\[u\](.*?)\[\/u\]/is',                                
            '/\[url\=(.*?)\](.*?)\[\/url\]/is',                         
            '/\[url\](.*?)\[\/url\]/is',    
            '/\[img\](.*?)\[\/img\]/is',                            
            '/\[mail\=(.*?)\](.*?)\[\/mail\]/is',                    
            '/\[mail\](.*?)\[\/mail\]/is',                            
            '/\[font\=(.*?)\](.*?)\[\/font\]/is',                    
            '/\[size\=(.*?)\](.*?)\[\/size\]/is',                    
            '/\[color\=(.*?)\](.*?)\[\/color\]/is',   
            "':big_smile:'is",  
            "':cool:'is", 
            "':hmm:'is",
            "':lol:'is",  
            "':mad:'is",
            "':neutral:'is",
            "':roll:'is",
            "':sad:'is",
            "':smile:'is",
            "':tongue:'is",
            "':wink:'is",
            "':yikes:'is", 
            "':bull:'is", 
            '/\[item\=(.*?)\](.*?)\[\/item\]/is', 
            '/\[spell\=(.*?)\](.*?)\[\/spell\]/is', 
            "':warrior:'is",
            "':paladin:'is",
            "':hunter:'is",
            "':rogue:'is",
            "':priest:'is",
            "':dk:'is",
            "':shaman:'is",
            "':mage:'is",
            "':warlock:'is",
            "':druid:'is",
            "'\[ul\](.*?)\[/ul\]'is",
            "'\[ol\](.*?)\[/ol\]'is",
            "'\[li\](.*?)\[/li\]'is",
            );    

在此先感謝

抱歉,我的回復不夠清楚。 我快要睡了。 數據庫是空的,因此我不必進行任何轉換,但是當我向其中插入數據時,數據不會正確顯示。 順便說一句,我對php或mysql不好; 我正在閱讀這些文章和建議數小時,但我變得更加困惑。 您能告訴我在哪里輸入代碼以及輸入什么代碼,

$link = mysql_connect("localhost","UserName","Password") or die(mysql_error());
mysql_set_charset("utf8",$link);
mysql_select_db("DataBase Name") or die(mysql_error());

我想我從這些文章中發現的事情是,當服務器嘗試連接到db時,將mysql_set_charset("utf8",$link)部分添加到上述代碼中,但是我已經嘗試過了,但是它不起作用。 我的網站使用包括這樣的:

include("../../config/config.php");
$connect = mysql_connect("$db_host", "$db_user", "$db_pass")or die(mysql_error());
mysql_set_charset("utf8",$link);

假設您已將表中的數據正確轉換為UTF-8(僅更改字符集是不夠的),這聽起來好像是由於未將連接設置為UTF-8而有問題。 看一下SET NAMES ,更具體地說是這個問題

如果您不確定是否已將數據轉換為UTF-8,我將查看此問題以及此Wordpress文章 ,並確保已按照步驟進行操作。

暫無
暫無

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

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