C++Builder 程序员博客
14 Nov
用TStrings * SavaToFile保存的文件,用NOTEPAD打开正常,但用DREAMWEAVER打开就出现中文乱码?
请高手解帮忙解决一下.
主要看编码,查看下这个文件是否是UNICODE编码,Dreamweaver是否支持UNICODE
TStringList的SaveToFile和LoadFromFile還是很好用的 這個問題跟TStringList應該沒關係的
编码的问题
/* TStringList应没有问题, 再说你记事本都能正常查看文本了, 看看Dreamweaver打开其他的有中文的文本文件看下,是否也如此? */
打开其它文件不会出现问题
而且从记事本打开后,粘贴到DW下也没有问题
还有就是生成的ASP代码,从网站上打开也会出现乱码,但只要先用记事本打开,CTRL+C 然后再CTRL+V回那个文件就变好了
我觉得不可能跟DW有关,因为放到网站下打开也是乱码
所以才认为是TStringList的那个函数的问题
多谢各位老大了,我再看看.
TStrings * p_tslTemp= new TStringList();
p_tslTemp->LoadFromFile("F:\\test.txt");
p_tslTemp->SaveToFile("F:\\test.asp");
我把DW中的一个页面的代码COPY到 F:\\test.txt
然后且上面那执行上面那三个语句,出现的结果一样,在用DW打开test.asp时,中文全部是乱码,用记事本打正常,网站下打开的也是中文乱码
你系統是什麽語言環境 你看一下ie的查看下的編碼有沒有設置正確
不是IE的问题啊
也许DW要的是UNICODE编码,你试试用记事本打开,然后重新保存成UNICODE编码,再让DW打开看看。
汗,肯定是编码问题.
11楼的说得是对,也许DW要的是UNICODE编码,你试试用记事本打开,然后重新保存成UNICODE编码,再让DW打开看看。
有没有什么办法解决这个问题?
TStrings * p_tslTemp= new TStringList();
p_tslTemp->LoadFromFile("F:\\test.txt");
WideString ws = p_tslTemp->Text;
int fh = FileCreate("F:\\test.asp");
FileWrite(fh,ws.c_bstr(),ws.Length()*2);
FileClose(fh);
好像BCB2007以上的版本已经有TWideStringList了,那用起来就更方便了。
哦,那还没有别的办法啊.
BCB2007我没有装上啊,上次装了出问题了,现在程序是在BCB 6下的,也不可能移到2007
其实虽然你说得是对的,但这个道理大家的意思也都差不多
你再指点一下吧
这样我也好把分全部给你
DW里有没有可以设置网页编码的地方?把网页编码设置成GB2312
不是DW的问题啊,保存近后在网页时面打开也是乱码啊
我也知道不是DW的问题,偶是说DW能否设置网页文件的编码,基本上只是在文件头上加个 <META content="text/html; charset=gb2312" http-equiv=Content-Type>
TStrings * p_tslTemp= new TStringList();
p_tslTemp->LoadFromFile("F:\\test.txt");
WideString ws = p_tslTemp->Text;
int fh = FileCreate("F:\\test.asp");
FileWrite(fh,ws.c_bstr(),ws.Length()*2);
FileClose(fh);
还是不行
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鄀h槝噀ch </title>
</head>
<body>
-N齎篘l
</body>
</html>
可以了,谢谢