PHP 板


LINE

看板 PHP  RSS
各位大家好 想请问各位,目前问题是想取得mssql内的资料,生成xml在网页上, 但是只要是资料表栏位资料输入为中文,生成xml就会出现错误, 错误讯息为b>Warning</b>: DOMElement::setAttribute() [<a href='domelement.setattribute'>domelement.setattribute<... 附上原码: <?php ob_start(); header('Content-Type: text/xml'); $dom = new DOMDocument('1.0'); $dom->encoding = 'UTF-8'; $conn = mssql_connect("localhost", "sa", "12345"); mssql_select_db("DaShang", $conn); $SQL="SELECT * FROM test"; //资料库存在,建立SQL命令字串 $datalist=mssql_query($SQL);//将回传结果存放於变数中 $root = $dom->createElement('root'); $dom->appendChild($root);// 建立母节点 $root while ($fielddatas=mssql_fetch_array($datalist)) //将资料录转换为栏位阵列集合 { $child1 = $dom->createElement('item'); $root->appendChild($child1); //输出栏位资料 $child1->setAttribute('name', $fielddatas["name"]); // 设定属性 $child1->setAttribute('phone', $fielddatas["phone"]); $child1->setAttribute('qnum', $fielddatas["qnum"]); // 设定属性 //$child1->setAttribute('question', $fielddatas["question"]); } $xmlStr = $dom->saveXML(); echo $xmlStr; ?> 其中这行//$child1->setAttribute('question', $fielddatas["question"]); 只要杠掉就可以完整生成xml, <?xml version="1.0" encoding="UTF-8" ?> - <root> <item name="jack" phone="0933" qnum="2" /> <item name="jame/s" phone="0912" qnum="2" /> <item name="mary" phone="0920" qnum="3" /> </root> 想请教各位//$child1->setAttribute('question', $fielddatas["question"]); 这行是否要改用别的写法去存取?或是有其他地方没注意到的编码要转换的问题? 再拜托各位了~感谢!!!!!! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.3.165
1F:→ kilfu0701:档案是用UTF8存的吗? 02/16 13:48
2F:→ james0229:查过SQL2008是预设为Unicode,但就是抓不到中文字。 02/16 13:59
3F:推 kerash:单纯印出不要用 xml 格式的话所有字都印的出来吗 02/16 15:11
4F:→ kerash:另外把 header 加上 charset='utf-8' 呢? 02/16 15:14
5F:→ james0229:k大,单纯印出没问题,header也有加了,一样错误。 02/16 16:11
6F:→ hSATAC:试试看 htmlentities($str, EN_XML1, 'UTF-8'); 02/16 16:23
7F:→ james0229:一样是错误讯息,还有其他方法吗?? 02/16 16:52
8F:推 kerash:connect 时加入以下 query 02/16 17:09
9F:→ kerash:mysql_query("set character_set_client=utf8"); 02/16 17:09
10F:→ kerash:mysql_query("set character_set_results=utf8"); 02/16 17:09
11F:→ kerash:mysql_query("set names utf8"); 02/16 17:09
12F:→ kerash:我刚刚自己测试抓 mysql 是出现问号,加以上几行解决 02/16 17:10
13F:→ james0229:mysql可以成功,但mssql还是无法,请问语法是相同吗? 02/16 17:22
14F:推 kerash:我header有加charset,dom编码是用 new DD('1.0','utf-8'); 02/16 17:33
15F:推 kerash:另外有可能你的 sql server 用的 unicode 不是 utf-8 ? 02/16 17:36
16F:→ buganini:换别的extension用,5.3之後就没有mssql extension了 02/17 10:15
17F:→ buganini:然後mssql extension印象中是只能用ANSI codepage(big5) 02/17 10:15
18F:→ buganini:改用freetds之类的吧 02/17 10:15
19F:→ buganini:或是用odbc,这样如果要换到unix平台也不用改程式码 02/17 10:17
20F:→ buganini:如果是以经写好的原本mssql的code的话,就直接用freetds 02/17 10:21
21F:→ buganini:freetds.conf里面data source段加client charset = UTF-8 02/17 10:22
22F:→ buganini:就可以了 02/17 10:22
23F:→ buganini:google一下范例很多;client charset放global也可 02/17 10:24
24F:→ james0229:後来用ADODB解决~感谢各位大哥~有空会将程式码补上 03/10 14:16







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP