可以的,你需要在發(fā)送所有查詢之前先發(fā)送具有下面sql語句的查詢:
共和網站建設公司創(chuàng)新互聯(lián),共和網站設計制作,有大型網站制作公司豐富經驗。已為共和上千多家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站建設要多少錢,請找那個售后服務好的共和做網站的公司定做!
$que='set names "gb2312"';
或者$que='set names "gbk"';
或者$que='set names "utf-8"';
然后發(fā)送查詢,比如mysql_query($que);
哪一種看你選擇的字符集了;對于你的應用,三種都行;我使用utf-8,沒有問題。
另外,你的網頁編碼也要保持一致。
有問題可以發(fā)sjsr000000@gmail.com
實際上,中文的GB2312中已經包含了所有的藏文字符,因此只要將編碼轉換為"GBK"即可。但是MySQL的JDBC驅動對藏文支持有有問題,只有老版本的mysql-connector-java-3.0.17-ga.zip對藏文支持良好。為此當然選擇這個驅動了。
那么,自然得到藏文的解決方案:
1、在JDBC的連接URL后面加上useUnicode=true參數(shù)。
2、選擇mysql-connector-java-3.0.17-ga.zip驅動
3、將讀取的結果集轉碼為GBK,比如:
String?x?=?rs.getString("username");?
String?x1?=?new?String(xml.getBytes("ISO-8859-1"),"GBK")
$title=$_SESSION['result'][0]["title"];
改為
$title=addslashes($_SESSION['result'][0]["title"]);//對引號等特殊字符進行轉義,變成\'
從數(shù)據(jù)庫中讀出來的時候,
$title=stripslashes($title);//去除轉義的\
或者數(shù)據(jù)庫編碼改成gbk的,或者你在程序里加判斷,過濾這些生僻字,其他沒別的辦法。
這個問題一般和生僻字沒有關系,應該是你本地數(shù)據(jù)庫的編碼格式有問題,出現(xiàn)?號說明你存進去的數(shù)據(jù)是亂碼
我在我的電腦上把那個字插入到表中,
然后執(zhí)行查詢語句
并沒有出現(xiàn)亂碼,你檢查下你的數(shù)據(jù)庫的編碼格式,使用這個sql:
show? variables?like?'%char%',我電腦上執(zhí)行的結果如下,你可以比對一下
如有疑問,請聯(lián)系我