Jump to content

Türkçe Karakter Sorunu


muratboy31
 Share

Recommended Posts

Veritabanına kaydederken phpmyadminden  karaktertipini utf8_turkish_ci yi seçiceksiniz.Sonrada ams den ver girerken.

hMySQL = MySQL.Connect("localhost", "root", "", "dosya", 0);
MySQL.Query(hMySQL, "SET NAMES 'utf8'");
MySQL.Query(hMySQL, "SET CHARACTER SET utf8");
MySQL.Query(hMySQL, "SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
MySQL.Query("INSERT INTO gelenek(deneme) values('çeşit')");

Bu şekilde veri gönderirseniz.

 

Bu php kodu ile de listeleyin.Herhangi bir sorun yok karakterlerde.

	
	<?php
$con=mysqli_connect("localhost","root","","dosya");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM gelenek");

while($row = mysqli_fetch_array($result))
  {
  echo $row['deneme'];
  echo "<br>";
  }

mysqli_close($con);
?> 

Plugin olarak bunu kullanın.

 

http://www.mindquake.com.br/en/actions/mysql

 

 

bu plugin ile tablo nasıl oluşturuluyor ?

satir = MySQLCursor:fetch({},"a");


while satir do
ListBoxEx.AddItem("ListBox1", "<p><font color=#000000 face=Arial size=4><b>"..satir.adi.."</b></font><br><font color=#866898 face=Arial size=3>"..satir.gorevi.."</font> </p>", satir.adi, "", "", 1, LBXITEM_HTML, 0, nil, nil, nil);

satir = MySQLCursor:fetch(satir,"a");
end
Link to comment
Share on other sites

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

hayır ben yine yanlış anlattım, istediğim dönen veriyi tablo yapıp listbox ta listelemek;

önceki pluginde şu şekilde oluyordu;

    satir = MySQLCursor:fetch({},"a");     
     
    while satir do
    ListBoxEx.AddItem("ListBox1", "<p><font color=#000000 face=Arial size=4><b>"..satir.adi.."</b></font><br><font color=#866898 face=Arial size=3>"..satir.gorevi.."</font> </p>", satir.adi, "", "", 1, LBXITEM_HTML, 0, nil, nil, nil);
     
    satir = MySQLCursor:fetch(satir,"a");
    end
Link to comment
Share on other sites

burdaki yanlış ne acaba ? hata alıyorum kırmızı ile işaretli satırda

 

result = MySQL.Connect("192.168.1.2", "user", "pass", "rehber", "");
if (result ~= 0) then
  error = Application.GetLastError();
  Dialog.Message("MySQL Actions Plugin", "Connection failed: (" .. MySQL.GetError() .. ")", MB_OK, MB_ICONSTOP);
else
  if (MySQL.Ping() ~= 0) then
    Dialog.Message("MySQL Actions Plugin", "MySQL server is not responding", MB_OK);
  else
    resultset = MySQL.QueryToTable("SELECT * FROM kisiler");
    for i,row in resultset do
    for j,celltext in row do
        result = ListBox.AddItem("ListBox1",celltext, "");
    end
    end
  end
end

Link to comment
Share on other sites

bu şekil çalışıyor ama türkçe karakterler yine görünmüyor;

result = MySQL.Connect("192.168.1.2", "user", "pass", "rehber2", "");
MySQL.Query(result , "SET NAMES 'latin5'");
MySQL.Query(result , "SET CHARACTER SET latin5");
MySQL.Query(result , "SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
if (result ~= 0) then
  error = Application.GetLastError();
  Dialog.Message("MySQL Actions Plugin", "Connection failed: (" .. MySQL.GetError() .. ")", MB_OK, MB_ICONSTOP);
else
  if (MySQL.Ping() ~= 0) then
    Dialog.Message("MySQL Actions Plugin", "MySQL server is not responding", MB_OK);
  else
	tRes = MySQL.QueryToTable("SELECT * FROM kisiler");
	error = Application.GetLastError();
	if (error ~= 0) then
    	Dialog.Message("MySQL Actions Plugin", "Query failed: (" .. MySQL.GetError() .. ")", MB_OK, MB_ICONSTOP);
	else
		local nNumColumns = MySQL.GetFields();
		local nNumRows = MySQL.GetRows();
		for nRow = 1, nNumRows do
 		 for nColumn = 1, nNumColumns do
   			 if nColumn == 1 then
   			 ListBox.AddItem("ListBox1", tRes[nRow][nColumn], "")
   			 end
 		 end
		end
	end
  end
end

2w4ee7a.jpg

 

2uo5o52.jpg

 

2a4zd7d.jpg

 

ekeuv.jpg

Link to comment
Share on other sites

Tablonun karakter setini değiştirmemişsiniz. Çok tablo varsa verileri sql olarak dışa aktarın. Dosyayı Notepad++ ile utf-8'e çevirin. İçe aktarın.

 

Aşağıdaki komutları da kullanmayın. Bunlar tabloyu tekrardan latin5'e çevirir. pairs'in verdiği kodlar ile utf8'e çevirmeniz gerekiyordu ama bunlara da gerek yok. Bir kere çevirmeniz yeterli.

MySQL.Query(result , "SET NAMES 'latin5'");
MySQL.Query(result , "SET CHARACTER SET latin5");
MySQL.Query(result , "SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
Edited by reyiz
Link to comment
Share on other sites

burdaki yanlış ne acaba ? hata alıyorum kırmızı ile işaretli satırda

 

result = MySQL.Connect("192.168.1.2", "user", "pass", "rehber", "");
if (result ~= 0) then
  error = Application.GetLastError();
  Dialog.Message("MySQL Actions Plugin", "Connection failed: (" .. MySQL.GetError() .. ")", MB_OK, MB_ICONSTOP);
else
  if (MySQL.Ping() ~= 0) then
    Dialog.Message("MySQL Actions Plugin", "MySQL server is not responding", MB_OK);
  else
    resultset = MySQL.QueryToTable("SELECT * FROM kisiler");
    for i,row in resultset do
    for j,celltext in row do
        result = ListBox.AddItem("ListBox1",celltext, "");
    end
    end
  end
end

Yanlış bir şey söylemeyim ama for döngüsü hatalı değilmi?

 

for i, row in pairs(resultset) do 

 

olması gerekmiyor mu?

Link to comment
Share on other sites

valla ne yaptım ne ettim şu türkçe karakter sorununu çözemedim ... bu şekilde denedim ama bu seferde insert yapmıyor !!!

 ams de sorun yok ama farklı program ile view ettiğimde türkçe karakterler görünmüyor, hatta navicat ile de görünmüyor aşağıda örneği var ...

secili = Calendar.GetSelection("Plugin1");
seciligun = secili.Begin;
yolcu = MySQL.RealEscapeString(Input.GetText("Input1"));
note = MySQL.RealEscapeString(Input.GetText("Input4"));
saat = MySQL.RealEscapeString(Input.GetText("Input10"));
sofor = MySQL.RealEscapeString(Input.GetText("Input5"));
nerden =  MySQL.RealEscapeString(Input.GetText("Input3"));
nereye =  MySQL.RealEscapeString(Input.GetText("Input9"));
yolcutel =  MySQL.RealEscapeString(Input.GetText("Input2"));
sofortel =  MySQL.RealEscapeString(Input.GetText("Input6"));
plaka =  MySQL.RealEscapeString(Input.GetText("Input7"));

MySQL.Query("SET NAMES 'utf8'");
MySQL.Query("SET CHARACTER SET utf8");
MySQL.Query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
MySQL.Query("INSERT INTO takip (`yolcu`, `tarih`, `yer1`, `yer2`, `telyol`, `note`, `saat`, `sofor`, `telsof`, `plaka`) VALUES ('"..yolcu.."', '"..seciligun.."', '"..nerden.."' , '"..nereye.."', '"..yolcutel.."', '"..note.."', '"..saat.."', '"..sofor.."', '"..sofortel.."', '"..plaka.."')");

2upsk8k.jpg

 

 

9pml91.jpg

Link to comment
Share on other sites

asıl sorun o değil aslında, yukarıdaki kodu kullandığım da insert işlemi gerçekleşmiyor !!!

 

eğer bunları kaldırırsam insert oluyor ;

 

  • MySQL.Query("SET NAMES 'utf8'");
  • MySQL.Query("SET CHARACTER SET utf8");
  • MySQL.Query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
Link to comment
Share on other sites

  • 6 ay sonra...

Sevgili Ali ben türkçe karakter sorununu halledemedim senin eklediğin plugin ve Json denedim olmadı kullandığım kod

 

kelime = "sagopa";
sayi = Input.GetText("Input5");
HTTP.DownloadSecure("https://gdata.youtube.com/feeds/api/videos?q=" .. kelime .. "&start-index=" .. sira .. "&max-results="..sayi.."&v=2", _TempFolder .. "\\Youtubee.xml", MODE_BINARY, 20, 443, nil, nil, nil);
XML.Load(_TempFolder .. "\\Youtubee.xml");
XML.Delimiter = "|";
feed = XML.GetXML();
kontrol = XML.Count("feed", "entry");
if (kontrol > 0) then
for i = 1, kontrol do
yazi = XML.GetValue("feed/entry|"..i.."/title");
id = XML.GetValue("feed/entry|"..i.."/id");
id = String.Replace(id, "http://gdata.youtube.com/feeds/base/videos/", "", false);
id = String.Right(id, 11);
HTTP.DownloadSecure("https://i.ytimg.com/vi/"..id.."/default.jpg", _TempFolder .. "\\Youtube\\"..yazi..id..".jpg", MODE_BINARY, 20, 443, nil, nil, nil);
ListBox.AddItem("ListBox1", yazi, id);
end
end

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...