0

我正在尝试将英语网站翻译成波斯语。我面临的问题是:

  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 ,但问题仍然存在。我很高兴看到有人可以帮助我解决这个问题。function 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",
            );    

非常感谢提前

4

2 回答 2

1

对不起,我的回答不够清楚。我快睡着了。数据库是空的,所以我不需要转换任何东西,但是当我向其中插入数据时,数据显示不正确。顺便说一句,我不擅长 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());

我想我从这些文章中发现的事情是mysql_set_charset("utf8",$link)在服务器尝试连接到 db 时将部分添加到上面的代码中,但我已经尝试过了,但它不起作用。我的网站使用包括这样的:

include("../../config/config.php");
$connect = mysql_connect("$db_host", "$db_user", "$db_pass")or die(mysql_error());
mysql_set_charset("utf8",$link);
于 2013-09-06T12:21:44.373 回答
0

假设您已将表中的数据正确转换为 UTF-8(仅更改字符集是不够的),听起来您可能会遇到连接未设置为 UTF-8 的问题。看看SET NAMES,更具体的这个问题

如果您不确定是否已将数据转换为 UTF-8,我会查看此问题以及此 Wordpress 文章,并确保您已按照步骤操作。

于 2013-09-05T22:16:46.113 回答