Charset error


Hello, guys

I have a problem with charset. When I start my code from browser the data in my table is ???, but when I paste the output file in phpadmin everything is ok.
Please, guys help

this is my code:

<?php header("Content-Type: text/xml; charset=cp1251_general_ci"); $databasehost = "localhost"; $databasename = "export_ajur"; $databasetable = "invoice"; $databaseusername ="root"; $databasepassword = "password"; $fieldseparator = ","; $lineseparator = "\n"; $csvfile = "1.csv";

$addauto = 0;

$save = 1;
$outputfile = “output.sql”;
if(!file_exists($csvfile)) {
echo “File not found. Make sure you specified the correct path.\n”;
$file = fopen($csvfile,“r”);

if(!$file) {
echo “Error opening data file.\n”;

$size = filesize($csvfile);

if(!$size) {
echo “File is empty.\n”;

$csvcontent = fread($file,$size);


$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());

@mysql_select_db($databasename) or die(mysql_error());

$lines = 0;
$queries = “”;
$linearray = array();

foreach(explode($lineseparator,$csvcontent) as $line) {


$line = trim($line," \t");

$line = str_replace("\r","",$line);

$linearray = explode($fieldseparator,$line);

$linemysql = implode("’,’",$linearray);


  $query = "insert into $databasetable values('$linemysql');";

$query = “insert into $databasetable values (’$linemysql’);”;

$queries .= $query . “\n”;

mysql_query(“set names ‘cp1251_general_ci’”,$con);
mysql_query(“SET character_set_client=cp1251_general_ci”, $con);
mysql_query(“SET character_set_connection=cp1251_general_ci”, $con);
mysql_query(“SET character_set_results=cp1251_general_ci”, $con);

if($save) {

if(!is_writable($outputfile)) {
	echo "File is not writable, check permissions.\n";

else {
	$file2 = fopen($outputfile,"w");
	if(!$file2) {
		echo "Error writing to the output file.\n";
	else {


echo “Found a total of $lines records in this csv file.\n”;




I think the header should come before any markup has been sent to the browser I’ve put it at the very top of the file.


<?php header("Content-Type: text/xml; charset=cp1251_general_ci"); ?> [/php]


Thank your replay.

I changed,but nothing.


I’m confused why your setting a header to text/xml when the page is rending html and not xml?


I changed this now is hmtl.