Bug #9965 Wrong character set of stored information in user defined functions (UDF)
Submitted: 18 Apr 2005 5:33 Modified: 21 Apr 2005 10:39
Reporter: Rudenko Ilya Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: User-defined functions ( UDF ) Severity:S3 (Non-critical)
Version:5.0.3-beta-log OS:Linux (Fedora Core 3)
Assigned to: CPU Architecture:Any

[18 Apr 2005 5:33] Rudenko Ilya
Description:
It's not possible to get information which stored in UDF on russian language.
Any stored information in russian inside UDF should produce ??????? signs.
even changing of collation and charset does not help.

How to repeat:
delimiter // ;

DROP FUNCTION IF EXISTS month_nom; //

CREATE FUNCTION month_nom (mon INT) 
RETURNS char(20)
LANGUAGE SQL
DETERMINISTIC
SQL SECURITY INVOKER
BEGIN 
	DECLARE mon_nom CHAR(10) DEFAULT 'проверка';
	RETURN mon_nom;
END //

SELECT month_nom(1) //
[19 Apr 2005 15:39] Aleksey Kishkin
Hi! please check if you set 'connection' and 'client' charsets before testing. 
Could you please to repeat my command sequence and if you get wrong results, pls let us know.

(of course if you don't use koi8, you must set your charset)

bash-2.05b$ mysql test -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.0.4-beta-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> set names koi8r;
Query OK, 0 rows affected (0.00 sec)                                                 
mysql> delimiter // ;
mysql> 
mysql> DROP FUNCTION IF EXISTS month_nom; //
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> CREATE FUNCTION month_nom (mon INT) 
    -> RETURNS char(20)
    -> LANGUAGE SQL
    -> DETERMINISTIC
    -> SQL SECURITY INVOKER
    -> BEGIN 
    -> DECLARE mon_nom CHAR(10) DEFAULT 'проверка';
    -> RETURN mon_nom;
    -> END //
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> SELECT month_nom(1) //
+--------------+
| month_nom(1) |
+--------------+
| проверка     |
+--------------+
1 row in set (0.00 sec)

mysql>
[20 Apr 2005 5:25] Rudenko Ilya
Executing "set names koi8r;" before defining function solve problem.
Sorry it's my mistake.
[20 Apr 2005 5:25] Rudenko Ilya
Executing "set names koi8r;" before defining function solve problem.
Sorry it's my mistake.