2009-06-10
Close(); $conn->Close(); $rs = null; $conn = null; ?>
查询结果:
因为odbc 也没有设置内码页的地方。
![](http://img.zemanta.com/pixy.gif?x-id=5007f796-34a1-82c5-9852-802381399bc9)
周海汉/文
朋友要用sugarcrm的php读取Ms sql server的中文资料,因为其原始资料是Access 数据库,导到mysql不太方便。但导到sqlserver 2005后,发现其中文编码只支持GB 和 UCS-2(unicode 16),所以直接在数据库中查询显示正确,但使用php的utf9编码显示时则全是乱码。
找了大量资料,什么使用mssql,freetds,odbc,ado或直接每次查询和写入都进行转码等建议都有。不过实际测试中,发现Ado这种方法是好用的。
代码如下:
- </head>
- <?php
- //print(“The next line generates an error.
”); - //printaline(“PLEASE?”);
- //print(“This will not be displayed due to the above error.”);
- ?>
-
- <?php
-
- $conn = new COM(“ADODB.Connection”, NULL, CP_UTF8) or die(“Cannot start ADO”);
- //access 数据库的打开方式
- //$conn->Open(“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db”);
- //$conn->Open(“DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db”);
- $conn->Open(“Driver={SQL Server};Server={192.168.22.40};Database=sugarcrm_db;UID=sa;PWD=123456;”) ;
- // 执行查询并输出数据
- $rs = $conn->Execute(‘SELECT * FROM accounts’) or die (“error query”);
- ?>
-
-
ID Title - </tr>
- <?php
- while (!$rs->EOF) {
- echo ‘<tr>’;
- echo ‘<td>’. $rs->Fields[‘id’]->Value .’</td>’;
- echo ‘<td>’. $rs->Fields[‘name’]->Value .’</td>’;
- echo ‘</tr>’;
- $rs->MoveNext();
- }
- ?>
- </table>
- <?php
- // 释放资源
- $rs->Close();
- $conn->Close();
- $rs = null;
- $conn = null;
-
- ?>
- </body>
- </html>
ID | Title |
---|---|
'. $rs->Fields['id']->Value .' | '; echo ''. $rs->Fields['name']->Value .' | '; echo '
查询结果(与使用sql server managment studio效果一样):
114b0775-d9b2-db90-fcda-4a2f2cd7cdbd | 鏍紡浼氱ぞ鏈潵鍟嗕簨 629487 |
1d270085-a588-9ea7-584c-4a2f2c8d1a5b | Fabriqu茅 Interation氓l 79436 |
23 | 中文 |
36ea2575-fe34-61b0-e5ae-4a2f2c791d22 | Berufskolleg f眉r Elektrotechnik 65790 |
3834261a- fd48-9d4a-be40-4a2f2c5fc256 | Berufskolleg f眉r Elektrotechnik 529523 |
52c9652c-82c8-ec2b-72ae-4a2f2c3a58d6 | 鏍紡浼氱ぞ鏈潵鍟嗕簨 42138 |
78931a0e-f582-f406-8a56-4a2f2c3741b0 | But茅e Torique 700010 |
989473f7-6b7b-fed3-12a1-4a2f2c320645 | A.B.銈便偄銉栥儸銈ゃ兂銈?181212 |
b4579151-55cb-5ae4-a5f1-4a2f2c173b18 | B眉nde-Mitte 203765 |
d72c42c9-9e1d-b926-d931-4a2f2c2a3100 | Berufskolleg f眉r Elektrotechnik 27682 |
e97002f1-035f-91d3-4592-4a2f2f780e01 | zhh |
其中,23 ID的编码是GB2312的,其余是utf-8的。
而使用odbc则跟使用mssql_connect效果一样。
- </head>
- <?php
- //print(“The next line generates an error.
”); - //printaline(“PLEASE?”);
- //print(“This will not be displayed due to the above error.”);
- ?>
-
- <?php
- //$conn = odbc_pconnect(“myodbc”, “sa”, “cvttdev”, 0);
- //$connstr=”DRIVER=Microsoft Access Driver (*.mdb);DBQ=”.realpath(“mydb.mdb”);
- $connstr=”Driver={SQL Server};Server={192.168.22.40};Database=sugarcrm_db;UID=sa;PWD=123456;”;
- $connid=odbc_connect($connstr,”sa”,”cvttdev”,SQL_CUR_USE_ODBC );
-
-
- $query=odbc_do($connid,”select id,name from accounts”);
-
- ?>
-
-
ID Title - </tr>
- <?php
- while(odbc_fetch_row($query))
- { echo ‘<tr>’;
- $name = odbc_result($query,2);
- $id=odbc_result($query,1);
- echo ‘<td>’. $id .’</td>’;
- echo ‘<td>’. $name .’</td>’;
- echo ‘</tr>’;
- }
- ?>
- </table>
ID | Title | '. $id .' | '; echo ''. $name .' | '; echo ''; } ?>
---|
114b0775-d9b2-db90-fcda-4a2f2cd7cdbd | 株式会社未来商事 629487 |
1d270085-a588-9ea7-584c-4a2f2c8d1a5b | Fabriqué Interationål 79436 |
23 | ���� |
36ea2575-fe34-61b0-e5ae-4a2f2c791d22 | Berufskolleg für Elektrotechnik 65790 |
3834261a-fd48-9d4a-be40-4a2f2c5fc256 | Berufskolleg für Elektrotechnik 529523 |
52c9652c-82c8-ec2b-72ae-4a2f2c3a58d6 | 株式会社未来商事 42138 |
78931a0e-f582-f406-8a56-4a2f2c3741b0 | Butée Torique 700010 |
989473f7-6b7b-fed3-12a1-4a2f2c320645 | A.B.ケアブレイン��?181212 |
b4579151-55cb-5ae4-a5f1-4a2f2c173b18 | Bünde-Mitte 203765 |
d72c42c9-9e1d-b926-d931-4a2f2c2a3100 | Berufskolleg für Elektrotechnik 27682 |
e97002f1-035f-91d3-4592-4a2f2f780e01 | zhh |
如非注明转载, 均为原创. 本站遵循知识共享CC协议,转载请注明来源
FEATURED TAGS
css
vc6
http
automake
linux
make
makefile
voip
乱码
awk
flash
vista
vi
vim
javascript
pietty
putty
ssh
posix
subversion
svn
windows
删除
编译
多线程
wxwidgets
ie
ubuntu
开源
c
python
bash
备份
性能
scp
汉字
log
ruby
中文
bug
msn
nginx
php
shell
wordpress
mqueue
android
eclipse
java
mac
ios
html5
js
mysql
protobuf
apache
hadoop
install
iocp
twisted
centos
mapreduce
hbase
thrift
tutorial
hive
erlang
lucene
hdfs
sqoop
utf8
filter
草原
yarn
ganglia
恢复
scrapy
django
fsimage
flume
tail
flume-ng
mining
scala
go
kafka
gradle
cassandra
baas
spring
postgres
maven
mybatis
mongodb
https
nodejs
镜像
心理学
机器学习
Keras
theano
anaconda
docker
spark
akka-http
json
群论
区块链
加密
抽象代数
离散对数
同余
欧拉函数
扩展欧几里德算法
ES6
node-inspect
debug
win10
vscode
挖矿