【发布时间】:2011-03-15 23:45:43
【问题描述】:
为什么 mysql 不处理空格,我该如何解决?
如果我在 db 中有一个带空格的路径名,它会用一个 % 代替空间,然后它就不起作用了?
public partial class UserProfile : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite; User=root; Password=commando;");
cn.Open();
OdbcCommand cmd = new OdbcCommand("SELECT User.FirstName, User.SecondName, User.Aboutme, User.DOB, Pictures.picturepath FROM User LEFT JOIN Pictures ON User.UserID = Pictures.UserID WHERE User.UserID=1", cn);
OdbcDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Name.Text = String.Format("{0} {1}", reader.GetString(0), reader.GetString(1));
Aboutme.Text = String.Format("{0}", reader.GetString(2));
Age.Text = String.Format("{0}", reader.GetString(3));
Image1.ImageUrl = String.Format("{0}", reader.GetString(4));
}
}
}
输出:
<div class="image">
<a href="#"></a>
<img style="border-width: 0px;" src="C:\Users\Public\Pictures\Sample%20Pictures" id="ctl00_ContentPlaceHolder1_Image1">
</div>
mysql 中的字符集是拉丁语 1 和瑞典语或其他不确定如何再次找到它?
【问题讨论】:
-
你确定是 MySQL 将
%放在你的字符串中,而不是一些预处理函数首先对字符串进行编码? -
嗯,我不能确定,但不会发生在任何其他数据库上?
-
贴一些代码,bc这听起来像你这边的问题......
-
@Garrith 您需要发布一些代码,并可能告诉我们您的数据库中的字符集是什么。但是,据我所知,MySQL 不会自动对字符串进行十六进制编码。
-
说真的,这不能难倒所有人吗?