作者ebliswu (□形的世界)
看板PHP
标题[请益] 如何上传中文字串?
时间Wed Dec 19 22:13:40 2007
下面这段在用英文输入时可正确上传至资料库。但无法用中文就上传…请问要改哪?
用的是utf8的编码…
<?php
require("dbinfo.php");
// Gets data from URL parameters
$name = $_GET['name'];
$address = $_GET['address'];
$lat = $_GET['lat'];
$lng = $_GET['lng'];
$type = $_GET['type'];
// Opens a connection to a MySQL server
$connection=mysql_connect ("localhost", $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
// Insert new row with user data
$query = sprintf("INSERT INTO markers " .
" (id, name, address, lat, lng, type) " .
" VALUES (NULL, '%s', '%s', '%s', '%s', '%s');",
mysql_real_escape_string($name),
mysql_real_escape_string($address),
mysql_real_escape_string($lat),
mysql_real_escape_string($lng),
mysql_real_escape_string($type));
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
感谢回覆 m(_ _)m
--
看不见你的笑我怎麽睡得着…
你的呻吟这麽近我却抱不到…
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.220.195
1F:推 yuan0258:你用GET方式传中文值时要先用urlencode编码才不会出错 12/19 22:15
2F:→ ebliswu:类似$name = urlencode($_GET['name']);这样处理吗? 12/19 22:53
3F:→ ebliswu:这样没有改善…还是只能输入英文 12/19 22:55
4F:推 JoeHorn:MySQL 版本? 资料库表格编码? 我没看到 SET NAMES ... 12/19 23:23
5F:推 davidboy12:黑阿 无法上传中文是怎麽回事?是乱码吗?如果是的话 12/19 23:25
6F:→ davidboy12:就加上mysql_query("SET NAMES BIG5"); 12/19 23:26
7F:→ ebliswu:板本为4.1.22 MySQL 文字编码: UTF-8 Unicode (utf8) 12/19 23:34
8F:→ ebliswu:加了mysql_query("SET NAMES BIG5");还是一样没改善 12/19 23:35
9F:→ ebliswu:输入中文只多一行空白的资料表…连乱码都没有 感谢回覆! 12/19 23:35
10F:→ ebliswu:上面打错mysql_query("SET NAMES 'UTF8'"); 12/20 00:19
11F:推 JoeHorn:你把 SET NAMES 加在哪? 12/20 01:24
12F:→ JoeHorn:通常我们都用「SET NAMES 'utf8';」,我不确定大写是否OK 12/20 01:25
13F:→ ebliswu:我是加在$query = sprintf("INSERT INTO markers " .之前 12/20 08:18
14F:推 mysteriousGE:我刚好遇到此问题 楼上的推文说得可用!大写可! 12/22 23:19
15F:→ mysteriousGE:非常感谢 <(_ _)> 12/22 23:19