Med PHP visar jag resultatet från en MSSQL-databas (som ligger på en annan dator än webbsidan). Problemet är att alla å,ä och ö blir konstiga. De visas som fnuttar och annat skräp.
Jag har testat lite mer och det funkar att hämta data via ASP:
<%
strConSTR = "driver={SQL Server};server=***; uid=***; pwd=***; database=dbiom;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConSTR
SQL = "SELECT colCell1 FROM tblcontent WHERE colID='0'"
set rs = Conn.EXECUTE (SQL)
RESPONSE.WRITE rs(0)
%>
Men kör jag i PHP så blir det fel:
<?
$connection = mssql_connect ("***", "***","***") or die ("Fel");
mssql_select_db ("dbiom") or die ("Fel");
$result = mssql_query("SELECT colCell1 FROM tblcontent WHERE colID='0'") or die ("Fel");
$row = mssql_fetch_row($result);
echo $row[0];
?>
Frågan kanske passar bätre i nåt annat forum men jag vet inte vilket? Hilfe! :x
GrodanBoll »
Ja, det ser ut som att du hade ungefär samma problem.
Jag fattar inte vad det kan vara? Det är ju när PHP hämtar data som det blir fel. När ASP hämtar data så blir det inte fel?
Vet inte, verkar kanske vara någe annorlunda med MsSQL, det funkar ju jättebra mellan PHP o MySQL.
Jag har inte testat med Access, så jag vet inte hur det e där.
Teckenuppsättningen heter OEM och används i DOS. En lösning vore att konvertera från OEM till ANSI, men det verkar inte finnas någon sådan funktion i PHP.
Försök att ta reda på varför MSSQL använder OEM och inte ANSI, UTF-8 eller Unicode som teckenuppsättning. Kanske är det datan som matats in med OEM? Om du matat in den med kommandoprompten eller DOS så har du hittat anledningen.
Hej, jag hade samma problem när jag körde PHP och MySQL, när jag gjorde om å,ä och ö till & aring; & auml; och & ouml; (utan mellanrum efter &) innan jag satte in dom i databasen så blev det rätt sen när man läste från databasen, hopas det hjälper.
262 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9