Wiem, ze temat ze znakami jest już wałkowany od dawna.
Ale mam następujący problem otóż: wszędzie mam ustawiony UTF-8, w edytorze UTF-8 witout BOM.
W bazie UTF8_polish_ci.
Mam 2 formularze: jeden z tylko z możliwością dodania danych tekstowych do bazy,
na nim wrzuca mi polskie znaki do tabeli w bazie bez problemu.
2 w którym mam formularz + dodatkowo miejsce na upload pliku.
Ale: Załączenie pliku nie jest wymagane aby dodało dane z formularza do bazy.
Właśnie na tym formularzu i skrypcie pojawia się problem: brak polskich znaków przy insercie danych z formularzy do bazy.
Krzaki wrzuca !
Dla funkcjonalności dobrze mieć za jednym zamachem dodanie formularza i pliku do bazy w jednym miejscu.
Oczywiście jeśli rozdzielę formularz i upload pliku jest wszystko ok.
Jak sobie z tym poradzić

Kod formularza:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/calendar.js"></script> <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script> <script src="js/jquery-ui-1.8.19.custom.min.js" type="text/javascript"></script> <link rel="stylesheet" href="css/jquery-ui-1.8.19.custom.css" type="text/css" /> <style> body { font-size: 12px; font-family:Arial; } </style> <title>Dodaj Dokumenty</title> </head> <?php ?> <body> <h2> Dodaj dokument do dzialki (nr id ) </h2> <form action="add_file_dok.php" method="post" enctype="multipart/form-data" > <table border="0"> <tr> <td></td> <td><input type="hidden" name="id" maxlength="30" size="30" id="id"/></td> </tr> <tr> <td>rodz_dok</td> <td><SELECT name="rodz_dok" id="rodz_dok" > <?php include ('conf.php'); { } ?> </SELECT></td> </tr> <tr> <td>nr_dokumentu</td> <td><input type="text" name="nr_dokumentu" maxlength="50" size="30" id="nr_dokumentu"></td></input> </tr> <tr> <td>SKAN_dokumentu</td> <td><input type="file" name="uploaded_file"><br></td> </tr> <tr> <td>status_negocjacji</td> <td><input type="text" name="status_negocjacji" maxlength="30" size="30" id="status_negocjacji"> </td> </tr> <tr> <td>data_podpisania Format RRRR-MM-DD</td> <td><input type="text" name="data_podpisania" maxlength="30" size="30" id="data_podpisania"> </td> </tr> <tr> <td>uwagi</td> <td><TEXTAREA type="text" name="uwagi" rows="4" cols="20" id="uwagi"></TEXTAREA></td> </tr> <tr> <td colspan="2"><input type="submit" value="ZAPISZ"></td> </tr> </table> </form> <?php ?>
KOD do dodawania do bazy:
<?php // Check if a file has been uploaded // Make sure the file was sent without errors if($_FILES['uploaded_file']['error'] == 0) { // Connect to the database $dbLink = new mysqli('localhost', 'root', 'pass123##', 'baza'); if(mysqli_connect_errno()) { } // Gather all required data $name_d = $dbLink->real_escape_string($_FILES['uploaded_file']['name']); $mime_d = $dbLink->real_escape_string($_FILES['uploaded_file']['type']); // Create the SQL query $query = "update dokumenty set name_d='".$name_d."' , mime_d='".$mime_d."', data_d='".$data_d."' , size_d='".$size_d."' WHERE id=".((int)$_GET['id']); //echo $query; // Execute the query $result = $dbLink->query($query); // Check if it was successfull if($result) { } else { echo 'Error! Failed to insert the file' . "<pre>{$dbLink->error}</pre>"; } } else { echo 'An error accured while the file was being uploaded. ' } // Close the mysql connection $dbLink->close(); } else { } // Echo a link back to the main page ?>