我以编程方式将数据(使用PHP 5.2)导出到.csv测试文件中.
示例数据:( Numéro 1注意重音e).数据是utf-8(没有前置BOM).
当我在MS Excel中打开此文件时显示为Numéro 1.
我可以在文本编辑器(UltraEdit)中打开它,正确显示它.UE报告角色是decimal 233.
如何在.csv文件中导出文本数据以便MS Excel正确呈现它,最好不强制使用导入向导或非默认向导设置?
我的网站现在纯粹以UTF-8工作,但为了使用serverXMLHTTP发送短信,我需要在发送之前将我的消息从UTF-8转换为ISO-8859-1.
情况与此并行:
a.asp:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body>
<form method="post" action="b.asp">
<input type text name="message" value="æøå and ÆØÅ"><br>
<input type=submit>
</body>
Run Code Online (Sandbox Code Playgroud)
然后是b.asp
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head><body>
<%=konvert(request("message"))%><br>
</body>
<%
Function Konvert(sIn)
Dim oIn : Set oIn = CreateObject("ADODB.Stream")
oIn.Open
oIn.CharSet = "UTF-8"
oIn.WriteText sIn
oIn.Position = 0
oIn.CharSet = "ISO-8859-1"
Konvert = oIn.ReadText
oIn.Close
End Function
%>
Run Code Online (Sandbox Code Playgroud)
在这个展示中,我希望在b.asp中看到相同的字符串,因为我发送了一个a.asp,但是我得到了这个:
æøå and ÆØÅ
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?