① php 怎么连接中文名称数据库(SqlServer)
php页面是utf八的编码,然后命令发给数据库的时候转换下编码,例子见图
② php 向数据库发送中文字符无法查询
你的问题可能是数据库连接时未指定字符集:$conn->query("set names utf8");
详细如下:
将中文字符转换一下,可能你的网页编码是ansi非utf-8的:
$w=iconv("gb2312","utf-8",$w);
不过我不确定这样做你能否成功。关于字符有以下几点你看下:
数据库连接时: $conn->query("set names gbk");
数据库的字符集:建议建立数据库时就指定字符集,比如gbk或者utf-8,这样你就没必要为单独的表或者字段指定字符集
网页字符:<META CONTENT="text/html; charset=gbk" HTTP-EQUIV="Content-Type" />
保持着三者使用的字符集一样,基本能解决你的问题。
当然,在使用ajax时。js传递过来的是utf-8,如果你的php文件和数据库使用的是中文字符集如gbk,gb2312,那么就需要对该值用iconv函数转换下字符集,如:$w=iconv("utf-8","gb2312",$w);
总之,需要这几块的字符集保持一致。
③ PHP mysql 如何将从数据中读入的中文乱码转换成中文字符
要解决乱码首先需要知道出现乱码的原因:
一、PHP+MySQL出现中文乱码的原因。
1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。
2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码.
3. PHP页面的字符集与数据库的编码不一致。
4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。
5. 用户提交的HTML页面编码,和显示数据的页面编码不一致 ,就肯定会造成PHP页面乱码.
二、解决中文乱码:
1. 网页编码设置。一般在HTML代码中的文件头<html>中加入属性:
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
保证,网页是"utf-8"编码。
2. PHP代码设置。在php代码的开始部分加入以下代码:
header(”Content-type: text/html;charset=utf-8″);
且要求保存的文件编码方式是utf-8,这样就保证了该文件也是utf-8编码。
3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**设置字符集***
④ php连接数据库用户名不支持中文,怎么解决
估计你数据库中的那个中文用户名读出来就是乱码,所以比对起来就是不一样的.要设置数据库默认字符集.
⑤ 在利用php与mysql数据库连接时为什么在数据库返回信息是会出现中文乱码现象
我也出现过很多次,不过后来发现,乱码还与文件编码有关,就是记事本打开php文件,再另存为看是什么编码的如果是ANSI编码的在windows下应该会正常产生编码,如果是其他的那就改成ANSI再保存,要注意记事本中代码有没有乱码,没有再保存。
⑥ Php Dreamweaver 连接数据库出现中文乱码
这个问题提的很好,因为你的网页编码是gb2312。可以把网页设成utf-8,在页面属性里面。也可以把数据库那头全部gb2312。
⑦ php读取mysql中文数据出现乱码的解决方法
1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了
解决方法:选择'UTF8'或者'gb2312',这样客户浏览器会自动选择并出现正确的中文显示。注意:'UTF8'或者'gb2312'都可以正确显示中文的。
2.数据库MySQL中的编码类型不正确。
解决方法:创建数据库的时候,MySQL
字符集选择'UTF8',MySQL
连接校对选择utf8_general_ci,这样创建的数据库用来存储中文肯定没有问题,
否则,你的中文首先在MySQL中就是乱码,更不要期望它会给你在PHP页面中显示正确。
3.与平时的脚本编辑环境有关。比如,有些内容是自己用word写的,有些是用记事本写的,有些用editplus、ultraplus等文本编辑器。有时候就直接在DW中写中文了,
解决方法:尽量用同一种编辑器。如果是拷贝来得既有的内容,建议用ultraplus中的编码转换功能把它转换成utf8或者gb2312。
到底转换成什么类型并不重要,关键要求你的PHP
WEB应用程序中的编码要一致就行。
4.编程访问
MySQL时,建议添加一行代码:mysql_query("SET
NAMES
'GBK'");
⑧ php中为什么插入数据库的中文变成乱码
请将数据库的编码,表的编码以及字段的编码与网页代码的编码保持一致。
另外注意文件本身的编码与html代码头meta中的编码说明保持一致。
那你看看是不是在连接数据库的时候采用了utf8格式,语法如mysql_query('set
names
utf8');
⑨ php连接mysql数据库的显示中文问题
在每次连接数据库之后,先执行一个查询,告诉数据库你要用的字符集。然后再进行插入,读出等其他查询。这个查询的sql语句是:
$que='set names "gb2312"';
将$que作为查询内容执行一个查询。
其中的gb2312可以换成其他的,比如gbk,utf8等。
你以后再输入的数据就可以正常显示了。
⑩ PHP与mysql连接后显示中文乱码
我想知道一件事情。
你能不能把乱码的情况发出图片呢
你看看数据表是不是乱码。
我挺想知道的
这样我好判断问题啊
如果你的乱码是这样
那么你的动态代码就这么写:
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<!--声明头文件,嘿嘿header管不到这里啊。所以你得自己声明了,字符集为utf8-->
<?php
header("Content-Type:text/html;charset:utf-8");
$link=mysql_connect("127.0.0.1","root","");
mysql_select_db("s",$link);
mysql_query("SETNAMESUTF8");
$sql="SELECT*FROMs";
$result=mysql_query($sql);
//print_r($row=mysql_fetch_array($result));
while($row=mysql_fetch_array($result))
{
echo"<tableborder='1'>";
echo"<tr><td>序号</td><td>学号</td><td>姓名</td><td>班级</td></tr>";
echo"<tr><td>".$row['id']."</td><td>".$row['xh']."</td><td>".$row['xm']."</td><td>".$row['bj']."</td></tr>";
echo"</table>";
}
?>
如果不行继续追问就行了
记得贴出图片啊。