Thread Rating:
  • 3 Vote(s) - 2.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
MySQL Polskie Litery
#1
Witam, mam mały problem z którym od dłuższego czasu nie potrafię się uporać,  Gdy dodaję jakąś nazwę z polskimi literami do bazy, w grze pobiera mi nazwę zastępującą polskie znaki pytajnikami, natomiast jeśli coś zapiszę od strony serwera, w bazie wyskakują zamiast polskich liter również różne znaki, próbowałem zmienić kodowanie mojej bazy sql ale nie widzę nigdzie tam kodowania ANSI.
Reply
#2
Sprawdzałeś przy kodowaniu danych cp1250_polish_ci bądź ascii_general_ci? Jeszcze przy inicjacji połączenia z bazą w G2O możesz spróbować wykonać te dwa zapytania, chodzi o to byś póki co ogarnął poprawne wysyłanie danych do bazy, z wyciągnięciem tego już nie będzie problemu jeśli pójdą dane do bazy z polskimi znaczkami.
Code:
SET NAMES cp1250;
SET CHARACTER_SET cp1250_polish_ci

Bądz analogicznie robisz z ascii_general_ci

Edit:

Sorry, bez tego ascii, popierdzieliło mi się coś.
Reply
#3
Nie mam w wyborze tego cp1250_polish_ci, jak wpisuje z palca to mi kodowanie zmienia na default schema, i nadal nic. Szukam póki co w google jak pobrać to cp1250.
Reply
#4
To masz jakiś wybrakowany MySQL, a co wypluwa zapytanie SHOW CHARACTER SET?
Reply
#5
armscii8    ARMSCII-8 Armenian    armscii8_general_ci    1
ascii    US ASCII    ascii_general_ci    1
big5    Big5 Traditional Chinese    big5_chinese_ci    2
binary    Binary pseudo charset    binary    1
cp1250    Windows Central European    cp1250_general_ci    1
cp1251    Windows Cyrillic    cp1251_general_ci    1
cp1256    Windows Arabic    cp1256_general_ci    1
cp1257    Windows Baltic    cp1257_general_ci    1
cp850    DOS West European    cp850_general_ci    1
cp852    DOS Central European    cp852_general_ci    1
cp866    DOS Russian    cp866_general_ci    1
cp932    SJIS for Windows Japanese    cp932_japanese_ci    2
dec8    DEC West European    dec8_swedish_ci    1
eucjpms    UJIS for Windows Japanese    eucjpms_japanese_ci    3
euckr    EUC-KR Korean    euckr_korean_ci    2
gb18030    China National Standard GB18030    gb18030_chinese_ci    4
gb2312    GB2312 Simplified Chinese    gb2312_chinese_ci    2
gbk    GBK Simplified Chinese    gbk_chinese_ci    2
geostd8    GEOSTD8 Georgian    geostd8_general_ci    1
greek    ISO 8859-7 Greek    greek_general_ci    1
hebrew    ISO 8859-8 Hebrew    hebrew_general_ci    1
hp8    HP West European    hp8_english_ci    1
keybcs2    DOS Kamenicky Czech-Slovak    keybcs2_general_ci    1
koi8r    KOI8-R Relcom Russian    koi8r_general_ci    1
koi8u    KOI8-U Ukrainian    koi8u_general_ci    1
latin1    cp1252 West European    latin1_swedish_ci    1
latin2    ISO 8859-2 Central European    latin2_general_ci    1
latin5    ISO 8859-9 Turkish    latin5_turkish_ci    1
latin7    ISO 8859-13 Baltic    latin7_general_ci    1
macce    Mac Central European    macce_general_ci    1
macroman    Mac West European    macroman_general_ci    1
sjis    Shift-JIS Japanese    sjis_japanese_ci    2
swe7    7bit Swedish    swe7_swedish_ci    1
tis620    TIS620 Thai    tis620_thai_ci    1
ucs2    UCS-2 Unicode    ucs2_general_ci    2
ujis    EUC-JP Japanese    ujis_japanese_ci    3
utf16    UTF-16 Unicode    utf16_general_ci    4
utf16le    UTF-16LE Unicode    utf16le_general_ci    4
utf32    UTF-32 Unicode    utf32_general_ci    4
utf8    UTF-8 Unicode    utf8_general_ci    3
utf8mb4    UTF-8 Unicode    utf8mb4_general_ci    4
Reply
#6
No to weź sobie zainstaluj jakiegoś PhpMyAdmina na serwie, i pozmieniaj metodę porównywania napisów na cp1250_polish_ci bo widać jak byk, że posiadasz to kodowanie.

Edit.

Aż sam sprawdzę na jakimś testowym serwie o co z tym chodzi.
Reply
#7
Dobra, u mnie śmiga.

Kod serwerowy:
Squirrel Script
  1. local mysqlHandler = null;
  2.  
  3. addEvent("onInit", function()
  4. {
  5. mysqlHandler = mysql_connect("127.0.0.1", "root", "", "go");
  6. mysql_query(mysqlHandler, "SET NAMES cp1250;");
  7. mysql_query(mysqlHandler, "SET CHARACTER_SET cp1250_polish_ci");
  8.  
  9. mysql_query(mysqlHandler, "INSERT INTO `gracze` (`nick`, `haslo`) VALUES ('Józuś', 'ąćópl');");
  10. });
  11.  
  12. addEvent("onCommand", function(pid, cmd, params)
  13. {
  14. if(cmd == "test")
  15. {
  16. local args = sscanf("ss", params);
  17. if (args)
  18. {
  19. mysql_query(mysqlHandler, "INSERT INTO `gracze` (`nick`, `haslo`) VALUES ('" + args[0] + "', '" + args[1] + "');");
  20. }
  21. }
  22. });



Baza danych:
Code:
CREATE DATABASE IF NOT EXISTS `go` DEFAULT CHARACTER SET cp1250 COLLATE cp1250_polish_ci;
USE `go`;
CREATE TABLE IF NOT EXISTS `gracze` (
  `nick` varchar(20) COLLATE cp1250_polish_ci NOT NULL,
  `haslo` varchar(20) COLLATE cp1250_polish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1250 COLLATE=cp1250_polish_ci;
Reply
#8
Zrobiłem dokładnie tak samo i zapisało mi w bazie z pytajnikami, hmm jutro popatrzę dokładniej.
Reply
#9
Zaaktualizowałem swój post wyżej, zobacz czy nie tylko tabela jak i pola w niej mają kodowanie cp1250_polish_ci ale też czy baza je posiada, to ważne.
Ogólnie na tym przykładzie wyżej jestem w 100% pewny, że działa bo na nim sprawdzałem.
Reply
#10
To samo :/ no nic, przeinstaluję jutro workbencha, może to coś da Big Grin
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Mysql.so Quarchodron 6 6,071 16.06.2018, 16:29
Last Post: Profesores
  Polskie znaki Snafi 1 1,968 24.11.2017, 23:00
Last Post: Marko
  MySQL w G2O? Arkhan 7 5,111 05.07.2016, 16:09
Last Post: KimiorV
  MySQL/pliki w gothic online 2? Dejv 4 4,542 19.10.2015, 20:41
Last Post: Dejv

Forum Jump:


Users browsing this thread: 1 Guest(s)