我有一个小脚本,通过GET接收一些数据并在数据库中插入数据。我的问题是发送一些UTF-8字符。 scritp接收它们,但以奇怪的方式插入它们。我在我的页面中打印了查询,用phpmyadmin执行它并且正常工作。所以,我的问题是通过我的脚本执行查询(如果我用这些字符执行常量查询,它不起作用)。通过邮寄发送字符是否可以解决问题?
谢谢
答案 0 :(得分:1)
试试这个:
mysql_set_charset('utf8');
答案 1 :(得分:0)
您的整个设置必须是UTF-8。这意味着您的网页,PHP,数据库连接和数据库表都必须采用UTF-8模式。鉴于它在管理页面中工作而不是通过脚本,我猜它是你的数据库连接。在进行插入查询之前尝试执行set names='utf-8'
,看看是否可以解决问题。如果是这样,那么你的数据库连接正在使用一些OTHER字符集并在PHP->数据库中修改你的文本。
答案 2 :(得分:0)
在查询之前在php文件中添加:
mysql_query('SET NAMES utf8');
例如:
//DB connection
$con = mysql_connect('localhost', 'root', '');//db details
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydatabase", $con);//DB name
mysql_query('SET NAMES utf8');
//query
$sql="SELECT * FROM users WHERE uid=".$user_id;// your query
$result=mysql_query($sql);