Fix : issue when using unicode with substr

This commit is contained in:
sparkyx 2026-02-26 08:42:35 +01:00
parent 545e41927b
commit 9347b18fa9
5 changed files with 6 additions and 5 deletions

View file

@ -95,6 +95,7 @@ if ( DEBUGNOALYSS > 1 ) {
\Noalyss\Dbg::display_size(); \Noalyss\Dbg::display_size();
\Noalyss\Dbg::display_request(); \Noalyss\Dbg::display_request();
\Noalyss\Dbg::display_global(); \Noalyss\Dbg::display_global();
echo "encoding";echo mb_internal_encoding();
} //<--- if DEBUG } //<--- if DEBUG
$g_parameter=new Noalyss_Parameter_Folder($cn); $g_parameter=new Noalyss_Parameter_Folder($cn);

View file

@ -564,7 +564,7 @@ switch ($action) {
break; break;
case 'note_refresh': case 'note_refresh':
$acc_operation_note= Acc_Operation_Note::build_jrn_id($jr_id); $acc_operation_note= Acc_Operation_Note::build_jrn_id($jr_id);
echo substr($acc_operation_note->getNote()??"",0,120); echo mb_substr($acc_operation_note->getNote()??"",0,120);
return; return;
case "rmsup": case "rmsup":

View file

@ -984,7 +984,7 @@ print $html;
// Note // Note
$r.='<td>'; $r.='<td>';
$r.='<span id="als_note'.$row['jr_id'].'" class="font-small">'; $r.='<span id="als_note'.$row['jr_id'].'" class="font-small">';
$r.= substr($row['n_text']??"",0,120); $r.= mb_substr($row['n_text']??"",0,120);
$r.='<span>'; $r.='<span>';
$r.='</span>'; $r.='</span>';
$r.='</td>'; $r.='</td>';

View file

@ -528,14 +528,14 @@ class Fiche
if ( $p_array["av_text".ATTR_DEF_QUICKCODE] =="") if ( $p_array["av_text".ATTR_DEF_QUICKCODE] =="")
{ {
if ( ! empty( $p_array['av_text'. ATTR_DEF_ACCOUNT])) { if ( ! empty( $p_array['av_text'. ATTR_DEF_ACCOUNT])) {
$base_acc=substr($p_array['av_text'. ATTR_DEF_ACCOUNT]??"",0, 3); $base_acc=mb_substr($p_array['av_text'. ATTR_DEF_ACCOUNT]??"",0, 3);
}else { }else {
$base_acc=$this->cn->get_value("select substr(fd_class_base,1,2) from fiche_def where fd_id = $1", $base_acc=$this->cn->get_value("select substr(fd_class_base,1,2) from fiche_def where fd_id = $1",
[$p_fiche_def]); [$p_fiche_def]);
} }
$p_array["av_text".ATTR_DEF_QUICKCODE]=sprintf("%s%s" $p_array["av_text".ATTR_DEF_QUICKCODE]=sprintf("%s%s"
, $base_acc , $base_acc
, substr($p_array["av_text".ATTR_DEF_NAME], 0, 4) , mb_substr($p_array["av_text".ATTR_DEF_NAME], 0, 4)
); );
} }
$sql=sprintf("select insert_quick_code(%d,'%s')", $fiche_id, $sql=sprintf("select insert_quick_code(%d,'%s')", $fiche_id,

View file

@ -62,7 +62,7 @@ global $g_parameter;
$i = 0; $i = 0;
foreach ($avail as $r) { foreach ($avail as $r) {
$array[$i]['value'] = $r['dos_id']; $array[$i]['value'] = $r['dos_id'];
$array[$i]['label'] = sprintf("%s %s (%s)",$r['dos_id'],$r['dos_name'],substr($r['dos_description']??"",0,50)); $array[$i]['label'] = sprintf("%s %s (%s)",$r['dos_id'],$r['dos_name'],mb_substr($r['dos_description']??"",0,50));
$i++; $i++;
} }
$sAvail = new ISelect('dos_id'); $sAvail = new ISelect('dos_id');