Yorumları: 58
Konuları: 21
Kayıt Tarihi: 19-02-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 25 Başlangıç
28-04-2020, Saat: 10:21
(Son Düzenleme: 28-04-2020, Saat: 11:47, Düzenleyen: powerghost.)
Merhaba,
firedac componetini kullaniyoruz. mysql db de collection tarafını nasıl ayarlayabiliriz. türkçe karakterlerde sorun yaşıyoruz.
Yazılan programın web servisinde Türkçe karekter sorunu var. Veriler database'e Türkçe olarak geliyor. Fakat formda güncelleme yapında karekterler bozuluyor.
ekran görüntüleri,
(unable to decode value) hatası alıyoruz.
https://imgyukle.com/i/rnp3pv
https://imgyukle.com/i/rnptJ6
https://imgyukle.com/i/rnp8Zx
https://imgyukle.com/i/rnz0nv
ö ç ğ ü ş i karekterlerinde sorun oluyor.
Yorumları: 701
Konuları: 74
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.626 Programcı
28-04-2020, Saat: 10:31
(Son Düzenleme: 28-04-2020, Saat: 11:14, Düzenleyen: shooterman.)
https://www.dijitalders.com/icerik/12/15...blemi.html
Selamlar, bağlanıp baktım ama konu web servislerini ve json encode işlemlerini kapsıyor. dolayısıyla, sorunu içeren ekranı buraya koyarsanız ve hatayı da tekrar senaryosu ile birlikte yazarsanız, formdaki üstadlar tarafından daha net anlaşılır olacaktır.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 1.572
Konuları: 88
Kayıt Tarihi: 09-08-2016
Rep Puanı: 13.841 Üstad
Firedac tarafında connection editorde CharacterSet var. Onu değiştirebilirsiniz( UTF8 vs).
DBye karakterlerin düzgün geldiğini söylediğiniz için bundan dolayı olacağını sanmıyorum ama denemekten zarar gelmez
There's no place like 127.0.0.1
Yorumları: 58
Konuları: 21
Kayıt Tarihi: 19-02-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 25 Başlangıç
28-04-2020, Saat: 12:13
(Son Düzenleme: 28-04-2020, Saat: 12:35, Düzenleyen: SimaWB.)
(28-04-2020, Saat: 11:52)SimaWB Adlı Kullanıcıdan Alıntı: Firedac tarafında connection editorde CharacterSet var. Onu değiştirebilirsiniz(UTF8 vs).
DBye karakterlerin düzgün geldiğini söylediğiniz için bundan dolayı olacağını sanmıyorum ama denemekten zarar gelmez 

o kısımda denedi ama çözüm olmadı.
https://imgyukle.com/i/rn2o1R
Ücret bukabilidne bu sorunu çözecek yiğit aranıyor
Yorumları: 1.044
Konuları: 149
Kayıt Tarihi: 14-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 4.093 Uzman
28-04-2020, Saat: 14:28
(Son Düzenleme: 28-04-2020, Saat: 14:28, Düzenleyen: pro_imaj.)
(28-04-2020, Saat: 10:21)folsec Adlı Kullanıcıdan Alıntı: Merhaba,
firedac componetini kullaniyoruz. mysql db de collection tarafını nasıl ayarlayabiliriz. türkçe karakterlerde sorun yaşıyoruz.
Yazılan programın web servisinde Türkçe karekter sorunu var. Veriler database'e Türkçe olarak geliyor. Fakat formda güncelleme yapında karekterler bozuluyor.
ekran görüntüleri,
(unable to decode value) hatası alıyoruz.
https://imgyukle.com/i/rnp3pv
https://imgyukle.com/i/rnptJ6
https://imgyukle.com/i/rnp8Zx
https://imgyukle.com/i/rnz0nv
ö ç ğ ü ş i karekterlerinde sorun oluyor.
Merhaba,
Yapı hakkında bilgi yazmalısınız.
1-Web servis hangi işletim sistemi üzerinde
2-Formu güncelleme işlemini hangi kodlarla nasıl yapıyorsunuz.
İyi çalışmalar.
Yorumları: 58
Konuları: 21
Kayıt Tarihi: 19-02-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 25 Başlangıç
28-04-2020, Saat: 14:44
(Son Düzenleme: 29-04-2020, Saat: 09:21, Düzenleyen: Fesih ARSLAN.)
1. işletim sistemi windows 2019 ve windows 2010 üzerinden denendi. ülke kodlar USA
2. html kısmı aşadır.
<!DOCTYPE html>
<html lang="en">
<!--================================================================================
Item Name: Materialize - Material Design Admin Template
Version: 4.0
Author: PIXINVENT
Author URL: https://themeforest.net/user/pixinvent/portfolio
================================================================================ -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
{{Include(['include\\header.html'])}}
</head>
<body id="layouts-horizontal">
<!-- Start Page Loading -->
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<!-- End Page Loading -->
<!-- //////////////////////////////////////////////////////////////////////////// -->
<!-- START HEADER -->
<header id="header" class="page-topbar">
<div class="navbar-fixed">
{{Include(['include\\topmenu.html'])}}
</div>
</header>
<!-- END HEADER -->
<!-- //////////////////////////////////////////////////////////////////////////// -->
<!-- START MAIN -->
<div id="main">
<!-- START WRAPPER -->
<div class="wrapper">
<!-- START LEFT SIDEBAR NAV-->
<!-- END LEFT SIDEBAR NAV-->
<!-- //////////////////////////////////////////////////////////////////////////// -->
<!-- START CONTENT -->
<section id="content">
<!--start container-->
<div class="container" style="margin-top:90px;">
<!--
jQuery Validation Plugin
-->
<p class="caption">Edit Member</p>
<div class="divider"></div>
<!--jqueryvalidation-->
<div id="jqueryvalidation" class="section" style="padding-top:0px; margin-top:-20px;">
<div class="row">
<form id="formUser" method="post" action="/?page=editmember">
<div class="col s12 m12 l6">
<div class="card-panel" style="height:320px;">
<div class="row">
<input type="hidden" name="id" id="dataid" value="0" />
<div class="row">
<div class="input-field col s12">
<span for="username">Username</span>
<input id="username" name="username" type="text" value="" />
</div>
<div class="input-field col s12">
<span for="password">Password</span>
<input id="password" name="password" type="password" value="" />
</div>
<div class="input-field col s12">
<span for="fullname">Full Name</span>
<input id="fullname" name="fullname" type="text" value="" />
</div>
</div>
<br>
<b style="color:red; display:none;" class="user-warning-msg">
<i class="material-icons" aria-hidden="true">warning</i>
Only if the Users option is selected. That user can only request folder permissions.
</b>
</div>
</div>
</div>
<div class="col s12 m12 l6">
<div class="card-panel">
<div class="row">
<div class="input-field col s12">
<span for="ou">OU</span>
<input id="ou" name="ou" type="text" value="" />
</div>
<div class="input-field col s12">
<span for="email">Email</span>
<input id="email" name="email" type="email" value="" />
</div>
<div class="col s12">
<div class="col s2">
<div class="switch">
<label style="font-size:18px;">
User<br>
<input id="isuser" name="isuser" type="checkbox" value="1" onclick="if(this.checked){ $('[name=isdisable],[name=isadmin]').prop('checked',false); $('.user-options').show(); }else{ $('.user-options').hide(); }; " >
<span class="lever"></span>
</label>
</div>
</div>
<div class="col s2">
<div class="switch">
<label style="font-size:18px;">
Admin<br>
<input id="isadmin" name="isadmin" type="checkbox" value="1" onclick="if(this.checked){ $('[name=isuser],[name=isdisable]').prop('checked',false); $('.user-options').hide(); }" >
<span class="lever"></span>
</label>
</div>
</div>
<div class="col s2">
<div class="switch">
<label style="font-size:18px;">
Disabled<br>
<input id="isdisable" name="isdisable" type="checkbox" value="1" onclick="if(this.checked){ $('[name=isuser],[name=isadmin]').prop('checked',false); $('.user-options').hide(); }" >
<span class="lever"></span>
</label>
</div>
</div>
</div>
<div class="col s12 user-options" style="padding: 20px 0px 0px 20px; line-height: 35px; display:none;">
<div class="switch">
<label>
<input type="checkbox" name="authority[]" id="permission_check" value="permission" />
<span class="lever"></span>
Permission Perspective
</label>
</div>
<div class="switch">
<label>
<input type="checkbox" name="authority[]" id="audit_check" value="audit" />
<span class="lever"></span>
Audit Perspective
</label>
</div>
<div class="switch">
<label>
<input type="checkbox" name="authority[]" id="filetype_check" value="filetype" />
<span class="lever"></span>
File Type Perspective
</label>
</div>
</div>
<div class="input-field col s12">
<button class="btn waves-effect waves-light right submit" type="submit" name="action">Submit
<i class="material-icons right">send</i>
</button>
</div>
</div>
</div>
</div>
<div style="clear:both;"></div>
<div class="row" style="padding:15px;">
<div class="permission_config" style="display:none;">
<h4 class="header" style="margin:15px 0px 0px;">Permission Perspektif</h4>
<div class="row">
<div class="col s12" style="color:red;">
The user can only manage permissions on selected folders.
</div>
<div class="col s12">
<div class="col s3" style="min-height:300px; border:1px solid #eaeaea; padding:25px;">
<div class="tree-scroll-bar">
<!--<div class="row">
<input type="text" name="serachbox" id="searchbox" value="" placeholder="Search" />
</div>-->
<div class="row">
<table id="treegrid" style="width: 97%;">
<thead>
<tr>
<th>Server</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
<div class="col s2">
<div style="padding-top: 150px">
<button class="btn waves-effect waves-light cyan submit add-manage-btn" type="button" name="action" style="width:100%; background: #fff;">Add Manage
<i class="material-icons right">send</i>
</button>
<br><br>
<button class="btn waves-effect waves-light red accent-2 delete-button" type="button" name="action" style="width:100%; ">Remove
<i class="material-icons right">close</i>
</button>
</div>
</div>
<div class="col s7">
<form name="scanlist" id="scanform">
<div class="row">
<div class="col s12">
<input type="text" class="form-control folder-search" placeholder="Search ..." style="width:98%" />
<div id="folder_list" style="overflow: auto; height: 250px !important; border: 1px solid #dadada;"></div>
<textarea name="folder_list" style="display:none;"></textarea>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!--end container-->
</section>
<!-- END CONTENT -->
<!-- //////////////////////////////////////////////////////////////////////////// -->
</div>
<!-- END WRAPPER -->
</div>
<!-- END MAIN -->
<!-- //////////////////////////////////////////////////////////////////////////// -->
<!-- START FOOTER -->
{{Include(['include\\footer.html'])}}
<style>
#folder_list div {
border-bottom: 1px solid silver;
padding: 1px 5px;
}
#folder_list .ui-selecting { background: #d6e1ff; }
#folder_list .ui-selected { background: #4875f3; color: white; }
</style>
<script type="text/javascript">
$('#isuser,#isadmin,#isdisable,#permission_check,#audit_check,#filetype_check').click(function(){
if($('#isuser').is(':checked') &&
!$('#permission_check').is(':checked') &&
!$('#audit_check').is(':checked') &&
!$('#filetype_check').is(':checked')
){
$('.user-warning-msg').show();
}else{
$('.user-warning-msg').hide();
}
});
var selectedFolderPath = "";
var sTitle = "";
function initTreeGrid() {
$("#treegrid").fancytree({
extensions: ["table"],
checkbox: false,
table: {
indentation: 20, // indent 20px per node level
nodeColumnIdx: 0, // render the node title into the 2nd column
checkboxColumnIdx: 0 // render the checkboxes into the 1st column
},
source: {
url: "?call=GetServerListAsJson&title="+ sTitle
},
lazyLoad: function(event, data) {
data.result = {url: "?call=GetFolderListAsJson&server_id="
+ data.node.data.server_id
+ "&parent_id=" + data.node.data.parent_id
+ "&id=" + data.node.data.id +"&title="+ sTitle}
},
renderColumns: function(event, data) {
var node = data.node,
$tdList = $(node.tr).find(">td");
}
});
$("#treegrid").on("click", ".fancytree-node", function(e){
var node = $.ui.fancytree.getNode(e);
if (node.parent.key == 'root_1'){
$('#addnewtrustee-div').hide();
// e.stopPropagation();
return;
}
selectedFolderPath = node.data.full_path;
// e.stopPropagation();
});
}
function folderlistSetValue()
{
var val = $('#folder_list div').map(function(){ return $(this).attr("value"); }).toArray().join("\n");
$("[name=folder_list]").val(val);
}
function updateMember(){
var userid = getQueryParameterByName('id');
$.ajax({
url: $('#formUser').attr('action'),
type: 'POST',
data: $('#formUser').serialize(),
success:function(data) {
console.log(data);
}
});
}
$(document).ready(function () {
initTreeGrid();
var userid = getQueryParameterByName('id');
$("#permission_check").click(function(){
$('.permission_config').hide();
if($('#permission_check').prop('checked')){
$('.permission_config').show();
}
});
$('#searchbox').change(function () {
sTitle = $(this).val();
$("#treegrid").fancytree("destroy");
initTreeGrid();
});
$('.folder-search').keyup(function () {
var val = $(this).val();
if(val==""){ $('#folder_list div').show(); }
else{
$('#folder_list div').hide();
$('#folder_list div').each(function(){
if($(this).attr("value").toLowerCase().indexOf(val)!=-1)
{
$(this).show();
}
});
}
});
$('.delete-button').click(function () {
var sel = $('#folder_list .ui-selected:visible');
if(sel.length==0){
swal("Alert!", "Please select folder", "warning");
return;
}
sel.each(function (i, item) {
$.ajax({
"url" : "/?page=newmember&&action=DeleteAccessedFolder",
"type": "post",
"data": {folder_path: $(item).attr("value"), user_id: userid},
"success": function (data) {
}
});
$(item).remove();
});
folderlistSetValue();
});
$('.add-manage-btn').click(function () {
if ($("#folder_list [value='"+selectedFolderPath+"']").length == 0) {
$('#folder_list').append($('<div/>', {
value: selectedFolderPath,
text: selectedFolderPath
}));
folderlistSetValue();
$.ajax({
"url": "?page=newmember&&action=AddAccessedFolder",
"type": "post",
"data": {folder_path: selectedFolderPath, user_id: userid},
success: function (data) {
}
});
}
});
$( document ).on("click","#folder_list div",
function(){
$("#folder_list .ui-selected").removeClass("ui-selected");
$(this).addClass("ui-selected");
}
);
$('#dataid').val(userid);
$.ajax({
"url" : "/?call=GetAdminDetailByMemberIdAsJSON",
"data": {id: userid},
"type": "get",
"success": function (data) {
var dataJ = JSON.parse(data);
$('#username').val(dataJ.username);
$('#username').focus();
$('#password').val(dataJ.password);
$('#password').focus();
$('#fullname').val(dataJ.fullname);
$('#fullname').focus();
$('#email').val(dataJ.email);
$('#email').focus();
$('#ou').val(dataJ.ou);
$('#ou').focus();
$('#username').focus();
//if domain user, read only
if(dataJ.username.indexOf("\\")!=-1)
{
$('#username,#password,#fullname,#email,#ou').attr("readonly",true);
}
$('#isuser').prop('checked', dataJ.is_user == '1');
$('#isadmin').prop('checked', dataJ.is_admin == '1');
$('#isdisable').prop('checked', dataJ.is_disable == '1');
$('#permission_check').prop('checked', dataJ.authorities.indexOf('permission') != -1);
$('#audit_check').prop('checked', dataJ.authorities.indexOf('audit') != -1);
$('#filetype_check').prop('checked', dataJ.authorities.indexOf('filetype') != -1);
if($('#permission_check').is(":checked"))
{
$('.permission_config').show();
$.each(dataJ.folder_list,function(i,item){
$('#folder_list').append($('<div/>', {
value: item.trim(),
text: item.trim()
}));
});
folderlistSetValue();
}
if(dataJ.is_user == '1')
{
$('.user-options').show();
}
if(dataJ.isad == '1') {
$('.password_block').remove();
}
if($('#isuser').is(':checked') &&
!$('#permission_check').is(':checked') &&
!$('#audit_check').is(':checked') &&
!$('#filetype_check').is(':checked')
){
$('.user-warning-msg').show();
}else{
$('.user-warning-msg').hide();
}
}
});
});
</script>
<!-- END FOOTER -->
</body>
</html>
Yorumları: 1.898
Konuları: 22
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 21.184 Üstad
29-04-2020, Saat: 08:27
(Son Düzenleme: 29-04-2020, Saat: 08:27, Düzenleyen: mrmarman.)
Şu adımları denemek isteyebilirsiniz
(1) Web servise test için yeni bir path atayın,
(2) Path response için veri tabanından Türkçe harf sorunu görülebilen bir tanesini herhangi bir tema kullanmadan çıplak olarak browser ekranında düzgün görüp görmediğinizi test edin,
(3) Bundan sonra adım adım, bu path'e; önce verdiğiniz html header kısmı eklenmiş halini response edin.
{{Include(['include\\header.html'])}}
(4) top header eklenmiş halini vs. vs.
{{Include(['include\\topmenu.html'])}}
amaç hangi aşamada TR sorunu oluşuyoru bulup onu orada çözmek olmalı.
Saygılarımla
Muharrem ARMAN
Yorumları: 238
Konuları: 6
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.914 Programcı
MySQL'de türkçe karakterlerle düzgün işlem yapabilmek için CharacterSet'i Latin5 yapmanız gerekir.
Yorumları: 58
Konuları: 21
Kayıt Tarihi: 19-02-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 25 Başlangıç
Merhaba,
Sorun db'de ki görünmde veya html tarafında değil. Sayfayı decode etme kısmında bir sorun var. Decod edemdiği için bozulmalar oluyor. Bu süreci debug etmenin bir yolu var mı? Tüm adımları gösterebilecek. vs
Yorumları: 1.898
Konuları: 22
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 21.184 Üstad
30-04-2020, Saat: 12:56
(Son Düzenleme: 30-04-2020, Saat: 13:45, Düzenleyen: mrmarman.)
Merhaba.
- FDConnection'un parametrelerine şunu eklerseniz WEB ile PC arasındaki payda eşitlenecektir.
Params.Values['CharacterSet']:= 'utf8';
- Win32 tarafından girilmiş eski kayıtlar ile boşuna incelemeyin, değişmeyecektir. Testinizi yeni kayıt girerek her iki platformda da yeniden gerçekleştirin.
- Yeni yapılan her kayıt hem web tarafında hem de PC tarafında düzgün görüntülenecektir.
- Eski kayıt miktarı da göz önüne alınarak basit bir döngü ile migration sağlanabilir sorun kökten çözülür.
Test görüntüleri
Parametrede UTF 8 yokken görüntüleme :
Web girişleri bozuk, FireDAC (ilk satır - UTF8 parametresi olmadan hali ) girişi normal görünüyor....
Saygılarımla
Muharrem ARMAN
|