我对数据库和php不太熟悉,我遇到了问题。
我在网络服务器上的phpadmin
创建了一个简单的数据库,其中包含一个名为NEWS
的表,其中包含3列int ID
,text RUBRIK
,text 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.php
和ANSI
编码保存MS Notes中的UTF-8
文件。没有区别,我尝试通过更改我在phpmyadmin
,latin1_general_ci
,utf8_general_ci
,utf8_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();
?>
答案 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'。