在同一个PHP文件上使用两个具有不同排序规则的不同数据库
我不完全确定这个问题的标题是否准确,但这是我最好的猜测。下面是我的场景的更多细节 我有一个基于MediaWiki的网站,内容是西班牙语。这个网站有自己的数据库。西班牙语中的特殊字符在浏览器上正确呈现 我现在添加了一个PHP插件来显示弹出消息。这个插件有自己的数据库。我已成功在此数据库中存储了特殊的西班牙语字符(我可以从phpMyAdmin中看到特殊字符在那里),但当我从该数据库中提取数据以在用户浏览器上渲染时,特殊字符被替换为在同一个PHP文件上使用两个具有不同排序规则的不同数据库,php,mysql,phpmyadmin,special-characters,Php,Mysql,Phpmyadmin,Special Characters,我不完全确定这个问题的标题是否准确,但这是我最好的猜测。下面是我的场景的更多细节 我有一个基于MediaWiki的网站,内容是西班牙语。这个网站有自己的数据库。西班牙语中的特殊字符在浏览器上正确呈现 我现在添加了一个PHP插件来显示弹出消息。这个插件有自己的数据库。我已成功在此数据库中存储了特殊的西班牙语字符(我可以从phpMyAdmin中看到特殊字符在那里),但当我从该数据库中提取数据以在用户浏览器上渲染时,特殊字符被替换为� 你可以在这里看到这个问题 在做一些研究时,我发现有人建议将其添加到
�代码>
你可以在这里看到这个问题
在做一些研究时,我发现有人建议将其添加到文件头('Content-Type:text/html;charset=ISO-8859-1')代码>
当我添加上述代码行时,弹出文本会正确呈现,但主要内容的特殊字符会被破坏
知道如何从两个数据库中获取内容以正确呈现吗?我找到了解决问题的方法
解决方法是指定连接到第二个数据库(插件的数据库)时应使用的字符集。见下文
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
mysql_set_charset('utf8',$dbhandle);
上面的第四行做到了:)同样值得一提的是,插件数据库使用了排序规则“utf8\u general\u ci”。MediaWiki数据库实际上有点像脚本,我不太清楚它使用的是什么排序规则。。。