
Jeśli w perlu za pomocą use DBD::ODBC; robimy update rekordu czy insert z polskimi znakami powiedzmy „ł” do bazy dodaje się zamiast litery „ł” znak „?”.
Problem można ten obejść za pomocą sprytnego polecenia mysql „_latin2″ które wstawiamy przed wstawianym stringiem.
Przykład poniżej:
UPDATE klient SET branza = _latin2′Gumowe artykuły|33241|2399′ WHERE idrek = 177221312

dump:
$command = 'mysqldump -h localhost -B baza -u user -phaslo --tables Panstwa --no-create-info --skip-lock-tables --compact --comments --complete-insert > /data/dump/Panstwa.sql 2> /data/dump/err_Panstwa.txt';
exec($command);
import:
$command = 'mysql -h localhost -B baza -u user -phaslo --default-character-set=utf8 < /data/dump/Panstwa.sql';
exec($command);
kopiownie:
$sql = 'INSERT INTO Panstwa SELECT * FROM b_Panstwa';
mysql_query($sql);
try {
$pdo = new PDO(‘mysql:host=’.$config['db']['host'].’;dbname=’.$config['db']['database'], $config['db']['user'], $config['db']['password']);
$pdo -> exec(„SET NAMES utf8″);
} catch (PDOException $e) {
print „Error!: ” . $e->getMessage() . „<br/>”;
die();
}
PDO to uniwersalny interfejs baz danych.

<?php
class DB {
private
$host, $base, $user, $pass, $dbconn;
public function __construct DB($host, $base, $user, $pass) {
$this->host = $host;
$this->base = $base;
$this->user = $user;
$this->pass = $pass;
$this->dbconn = mysql_connect($this->host, $this->user,$this->pass);
mysql_select_db($this->base);
}
}
$dbconn = new DB($host, $base, $user, $pass);
$result = mysql_query(„SELECT * FROM content”);
?>


UPDATE miejscowosc,
miejscowosc_2 SET miejscowosc.gmina = miejscowosc_2.gmina,
miejscowosc.powiat = miejscowosc_2.powiat,
miejscowosc.wojewodztwo = miejscowosc_2.wojewodztwo
WHERE miejscowosc.miejscowosc = miejscowosc_2.miejscowosc
Strona zawiera sposoby oraz kody źródłowe pokazujące rozwiazanie napotkanych problemów