Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use v5.24;
- use warnings;
- use utf8;
- use Mojo::mysql;
- use Data::Dumper;
- use Encode;
- my $db_name = $ARGV[0] // 'mydb';
- my $mysql = Mojo::mysql->strict_mode("mysql://dbuser:dbuser\@localhost/$db_name");
- my $db = $mysql->db;
- my $string = "Αλέξανδρος";
- my $id = $db->insert('a_test',
- {
- name => $string,
- data => encode_utf8($string),
- }
- )->last_insert_id;
- my $row = $db->select('a_test',
- undef,
- {
- id => $id,
- }
- )->hash or die 'row not found';
- print Dumper({
- row => $row,
- string => $string,
- row_name_is_same_as_inserted => $row->{name} eq $string,
- row_data_is_same_as_inserted => $row->{data} eq encode_utf8($string),
- });
- __END__
- MariaDB [mydb]> show create table a_test;
- +--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | Table | Create Table |
- +--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | a_test | CREATE TABLE `a_test` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `name` varchar(255) DEFAULT NULL,
- `data` longblob,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 |
- +--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- 1 row in set (0.00 sec)
- Output:
- $VAR1 = {
- 'row_data_is_same_as_inserted' => '',
- 'string' => "\x{391}\x{3bb}\x{3ad}\x{3be}\x{3b1}\x{3bd}\x{3b4}\x{3c1}\x{3bf}\x{3c2}",
- 'row_name_is_same_as_inserted' => 1,
- 'row' => {
- 'id' => 5,
- 'name' => "\x{391}\x{3bb}\x{3ad}\x{3be}\x{3b1}\x{3bd}\x{3b4}\x{3c1}\x{3bf}\x{3c2}",
- 'data' => 'ÎλÎ<U+00AD>ξανδÏοÏ'
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement