Mysql to Php,德语,瑞典语,冰岛语等字母的问题

时间:2011-07-24 20:19:12

标签: php mysql

我对数据库和php不太熟悉,我遇到了问题。

我在网络服务器上的phpadmin创建了一个简单的数据库,其中包含一个名为NEWS的表,其中包含3列int IDtext RUBRIKtext ARTICLE。< / p>

当我使用SELECT * FROM NEWS the result from ID and RUBRIK效果很好但ARTICLE的结果返回"null"时。有谁知道出了什么问题。

在phpmyadmin中,它可以很好地添加包含瑞典字母的文本列,而在phpmyadmin中可以正确地查看存储的文本,这是当文本被调用到php时它无法正常工作。

我使用index.php文件与数据库交互,因为index.php只是用于将我的Android应用程序与数据库连接,index.php的答案是print(json_encode($output));

PS,我尝试使用index.phpANSI编码保存MS Notes中的UTF-8文件。没有区别,我尝试通过更改我在phpmyadminlatin1_general_ciutf8_general_ciutf8_general_bin等之间的utf8_swedish中找到的所有排序规则来操纵我的数据库。 我也尝试过我建议尝试的命令mysql_query("set names utf8");,使用数据库返回类似于"/&aumi"的字母。

如果有人能帮助我,我真的很感激。

这是php文件。

<?php 
   $con = mysql_connect("mysqlserver","user","passwords");

   if(!$con)
   {
       die(' funkar ej: ' . mysql_error());
   }

   mysql_select_db("database", $con);

   $q=mysql_query("SELECT * FROM NEWS");

   while($e=mysql_fetch_assoc($q))  
       $output[]=$e;

   print(json_encode($output));

   mysql_close();
?>

3 个答案:

答案 0 :(得分:1)

json_encode()您需要使用utf8_encode() 你必须在mysql_query()之前强行使用utf8,就像这样mysql_query("SET NAMES utf8");

答案 1 :(得分:0)

尝试使用utf8_encode ( string $data )在每个$e内编码,在php中进行编码。

答案 2 :(得分:0)

不要只更改排序规则类型,还应更改数据库表的默认字符集。此外,DO使用'set names utf8'。