Autor Zpráva
luk
Profil *
Ahoj, rozjel jsem si redakcni system Drupal na localhostu - PHP5, Apache 2, MySQL 4.1.10a. Ted chci vysledek dostat do provozu na webhostingu. Zde je MySQL 4.1.15.

Na localhostu v PHPMyAdmin udelam dump databaze do souboru (nastavim kompatibilitu MYSQL4). Kdyz vsak tento soubor uploaduju na mysql na webhostingu, mam totalne rozhasenou diakritiku. Web bezi na UTF-8. Pri exportu na localhostu vsak nemuzu nikde nastavit kodovani. Pri importu potom nastavuju UTF.

Co s tim?
simka00
Profil
luk
při exportu do souboru v phpmyadminovi můžeš nastavit kódování. druhá možnost je obsah zkopírovat do nějakého editoru (PSPad?) a uložit v UTF
luk
Profil *
na záložce export nic k nastavení kodovani nevidim :(

zajimave je, ze kdyz v textovem editoru otevru exportovany soubor, je oznacen jako kodovany v utf-8, ale ceska diakritika je v nem jiz necitelna :((
Kajman_
Profil *
A bez té kompatibility s 4.0 to nejde? Tím nejspíš ztratíš ty informace o správném kódování.
luk
Profil *
A bez té kompatibility s 4.0 to nejde? Tím nejspíš ztratíš ty informace o správném kódování.

Ano! Částečně to pomohlo, už je to o řád lepší. Teď už je špatně pouze písmeno "č". Nearly there :)
Kajman_
Profil *
A při editaci sql exportu je to č už špatné?
luk
Profil *
No když se podívám do souboru s exportem, je to děs:

např na začátku hlavička:

<i>
-- phpMyAdmin SQL Dump
-- version 2.6.1-pl3
-- http://www.phpmyadmin.net
--
-- Počítač: localhost
-- Vygenerováno: Čtvrtek 12. ledna 2006, 18:00
-- Verze MySQL: 4.1.10
-- Verze PHP: 5.0.4
</i>

Zde je "č" v pořádku.

Ale dále v datech

<i>
syst&Atilde;&copy;mu shroma&Aring;&frac34;Ä?ov&Atilde;&iexcl;n&Atilde;
</i>

katastrofa, nemám ani šanci to přečíst. Editor to přitom označí za UTF-8. Na webu to potom funguje, až na to č a Č
luk
Profil *
prosím... pomóc
koudi
Profil
U MySQL je ve verzi 4.1 nějakej problém s kódováním - taky sem to řešil.
Po připojení k db stačí použít

MySQL_Query("SET NAMES 'cp1250'"); //překóduje DB do windows-1250

uprav si dle svého kódování
Kaifman
Profil
koudi: jo ale ten problem neni v mysql

na localhost spust

mysqldump -uroot -pheslo databaze > soubor.sql
gzip soubor.sql

otevri phpmyadmina

dej import

tot vse

taky je docela podstatny jak mas astavenou db u sebe
koukni do my.ini a hledej default_character_set jak v sekci mysqld tak v sekci client

take koukni na charset tabulek jestli je utf
Kajman_
Profil *
Ono to vypadá, že ostatní znaky jsou zapsány jako entity a nevyužívají kódování. S č tomu je možná jinak, takže ještě jednou zkontrolovat kódování.
Dolphi
Profil
Zkus editovat soubor /includes/database.mysql.inc:


  $connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE) or die(mysql_error());

mysql_query("SET NAMES utf8" , $connection);
mysql_select_db(substr($url['path'], 1)) or die('unable to select database');
luk
Profil *
Je to divné, ale vysledoval jsem závislosti:

pokud vytvořím i na lokálu databází UTF8 s porovnáváním utf8_czech_ci, a po té do ní uložím "č", tak je na webu zobrazeno zle. Pokud ale na stejnou aplikaci použiji databázi UTF8 s porovnáváním latin1_swedisch_ci, tak je "č" na webu zobrazeno v pořádku.

To Kajman_: na entity to převedlo až zdejší fórum
Toto téma je uzamčeno. Odpověď nelze zaslat.

0