@GoldSA
 
	 
 
	Try this modified code:
 
	 
 
(prompt "\nTo run a LISP type: COMTXTCSV")
(princ)
(defun c:COMTXTCSV ( / old_snap ss len i lst file op minPt maxPt ssn lst elast ptlist)
  (setq old_osnap (getvar 'osmode))
  (setvar 'osmode 0)
  
  (prompt "\nSelect TEXT or MTEXT:")
  
  (setq ss (ssget (list (cons 0 "*TEXT") (cons 8 "?????"))) ;; (cons 62 1)
	len (sslength ss)
	i 0
	lst (list)
	)
  
  (setq file (getfiled "Choose file save destination" "" "csv" 1)
	op (open file "w")
	)
  
  (while (< i len)
    (vla-GetBoundingBox (vlax-ename->vla-object (ssname ss i)) 'minPt 'maxPt)
    (setq minPt (vlax-safearray->list minPt)
	  maxPt (vlax-safearray->list maxPt)
	  ssn (ssget "_F" (list minPt maxPt) (list (cons 0 "*TEXT") (cons 8 "TEXT"))) ;; (cons 62 4)
	  )
    
    (if (/= ssn nil)
      (setq lst (cons (list (cdr (assoc 1 (entget (ssname ss i)))) (cdr (assoc 1 (entget (ssname ssn 0))))) lst))
      
      (progn
	(command-s "_RECTANG" minPt maxPt)
	(setq elast (entlast)
	      ptlist (mapcar 'cdr (vl-remove-if-not (function (lambda (x) (= (car x) 10))) (entget elast)))
	      ssn (ssget "_CP" ptlist (list (cons 0 "*TEXT") (cons 8 "TEXT"))) ;; (cons 62 4)
	      )
	(if (/= ssn nil)
	  (setq lst (cons (list (cdr (assoc 1 (entget (ssname ss i)))) (cdr (assoc 1 (entget (ssname ssn 0))))) lst))
	  )
	)
      )
    (setq i (1+ i))
    )
  
  (foreach val lst
    (write-line (strcat (car val) "," (cadr val)) op)
    )
  
  (close op)
  (setvar 'osmode old_osnap)
  (prompt (strcat "\nThe text values are written in " (vl-filename-base file) ".csv!"))
  (princ)
  )
	 
 
	After executing the modified code, I get this (chinees letters transformed into to the unicod chars, doesn't going to be problem for you):
 
	 
 
	
 
	 
 
	Best regards.