MySQL and Unicode Daniël van Eeden Percona Live Amsterdam 23 September 2015
|
|
- Cassandra Campbell
- 7 years ago
- Views:
Transcription
1 MySQL and Unicode Daniël van Eeden Percona Live Amsterdam 23 September 2015
2 Booking.com is available in more than 40 languages So Unicode is important to us.
3
4 Also my name is Daniël, not Daniel
5 Also my name is Daniël, not Daniël
6 First some history
7 ASCII
8 Encodes characters as 7-bit
9 The 8 th bit can be used as parity, but that was never common.
10 The 3568 ASCII astroid is named after it.
11 ISO-8859
12 Uses the extra bit to be able to store a second set of 127 characters
13 The base characters (<127) are shared between ASCII and ISO-8859-?
14 The other characters differ per country/region
15 Windows-1252 (CP1252) is mostly identical with ISO
16 ISO is also known as Latin1
17 Latin1 in MySQL is not ISO , but CP1252.
18 Unicode
19 Allows you to store text in any language
20 Allows you to store text combining multiple languages in the same file
21 Each character gets a number (a.k.a. code point) and a description.
22 That doesn't guarantee your font will display it.
23 UTF-8
24 This is an character encoding for unicode.
25 This translates from code points to a binary string.
26 UTF-8 and ASCII share the same characters for 0<127.
27 Non-ASCII characters are stored as 2, 3 or 4-bytes.
28 UTF-32 UTF-16 UTF-8 ISO ASCII Baudot
29 If a byte starts with '0xxxxxxx' then it is a 1-byte character
30 If a byte starts with '110' it is a start of a 2- byte character.
31 If a byte starts with '10' then it is a continuation of a multibyte character.
32 If a byte starts with '1110' it is the start of a 3-byte character.
33 If a byte starts with '11110' it is the start of a 4-byte character.
34 Examples: a = ë =
35 UTF-8 And MySQL
36 Some reasons to use UTF-8 in MySQL
37 Non-english scripts like Chinese, Cyrillic or Greek.
38 Emoji (including in the help text of your mobile app)
39 utf8 in MySQL is an alias for utf8mb3
40 utf8mb3 can store 3-byte UTF-8
41 utf8mb4 can store 4-byte UTF-8
42 Best practice: Always use utf8mb4, don't use utf8
43 Where to set the encoding?
44 It is set on a per-column basis
45 There is a per-table default
46 There is a per-database default
47 There is a per-server default: character_set_server
48 Connections also have a character set
49 Drawbacks of UTF-8
50 So just set everything to utf8mb4?
51 It depends
52 Does your application support it?
53 CHAR(10) suddenly needs 40 bytes!
54 TINYTEXT has a size limit in bytes
55 The MEMORY storage engine expands VARCHAR(10) to 40 bytes
56 With InnoDB your index grows over 767 bytes.
57 Best practice: Use latin1 for server, database and table default. Enable Unicode on columns which need it.
58 Converting your data
59 How to convert from latin1 to utf8mb4?
60 ALTER TABLE t1 MODIFY COLUMN c1 VARCHAR(100) CHARACTER SET utf8mb4;
61 But I have many columns!
62 Use CONCAT() and information_schema to generate the statements
63 Or convert all columns: ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb4;
64 Change defaults
65 Set character_set_server
66 ALTER SCHEMA s1 DEFAULT CHARACTER SET utf8mb4;
67 ALTER TABLE t1 DEFAULT CHARACTER SET utf8mb4;
68 Common failures
69 Application looks okay, but in MySQL the data looks wrong
70 The latin1 column was holding utf8 data already
71 Wrong conversion == garbage
72 Change column to varbinary and then to utf8mb4 to not convert the data.
73 The conversion fails and eats your data
74 Use sql_mode='strict_all_tables'
75 Now the operation will fail instead of truncate your data
76 Connection set to utf8, but data is 4-byte UTF-8.
77 Collation support There is no utf8mb4_general_cs (case sensitive) There is utf8mb4_unicode_ci And utf8mb4_unicode_520_ci And utf8mb4_bin
78
79 Special collations get lost during conversion
80 ALTER TABLE CONVERT TO only supports one collation
81 Safe collation before the ALTER and then restore it for columns which have a nondefault collation.
82 Collation mismatch
83
84 Use COLLATE to set the desired collation for the operation.
85
86 é and + e are not identical
87 Unicode normalization forms NFC Composed NFD Decomposed NFKC Composed NFKD Decomposed NFK removes compatibility distinction and will lose information. But this is useful for search etc.
88 Best practice: Normalize strings in your application
89 4-byte characters get silently lost on dump/restore
90 Set utf8mb4 as default charset for the connection mysqldump uses
91
92
93
94 Did you know a BOM can be in the middle of a string?
95 Fulltext search & CJK
96 Not every character has the same width
97 Not even if we use a monospace font
98 A character can have a width of 0, 1, 2 or -1 positions
99 Punycode
100 Ligatures, Glyphs, Characters
101 Using Unicode
102 Fonts
103 Typing
104 Virtual keyboards
105 Control characters
106 Charset is not a constraint
107 Replacement characters
108 MySQL and Unicode Daniël van Eeden Percona Live Amsterdam 23 September 2015 Welcome. My name is Daniël and I work for Booking.com This presentation is about MySQL and Unicode.
109 Booking.com is available in more than 40 languages So Unicode is important to us. Booking.com is available in more that 40 languages so Unicode is of critical importance to us
110 This is the booking.com website in Arabic Note that the text is also flowing from right to left
111 Also my name is Daniël, not Daniel My name is Daniël. There are dots on the 'e'. Those are important to me.
112 Also my name is Daniël, not Daniël The image here shows examples from letters I got in the mail. This happens quite often. Also on websites. Marking every special character as illegal is not a solution.
113 First some history Let's first start with some history about character sets
114 Before ASCII: baudot (5-bit, 1870) ASCII Let's start with ASCII. ASCII was invented in 1963 to allow comunication between systems of different vendors. A little known fact is that ASCII was not made for computers, but for teleprinters. One of the interesting decisions of ASCII was that it does not require state. It does not encode the 'shift'
115 Encodes characters as 7-bit In ASCII 1 character equals 1 byte.
116 The 8 th bit can be used as parity, but that was never common.
117 The 3568 ASCII astroid is named after it. Fun fact
118 ISO-8859 ISO-8859 was created in 1985 and is a set of 16 character sets. The most known one is ISO This included more than just english When the euro was introduced they replaced with and named it ISO
119 Uses the extra bit to be able to store a second set of 127 characters ISO-8859 Replaces ISO 646 (1972) which was a 7-bit mess. ECMA, the European Computer Manufacturers Association
120 The base characters (<127) are shared between ASCII and ISO-8859-? The base characters are shared between ASCII and ISO-8859
121 The other characters differ per country/region
122 Windows-1252 (CP1252) is mostly identical with ISO
123 ISO is also known as Latin1
124 Latin1 in MySQL is not ISO , but CP1252. mysql> SHOW CHARSET LIKE 'latin1'; Charset Description Default collation Maxlen latin1 cp1252 West European latin1_swedish_ci row in set (0.00 sec)
125 Unicode The work on Unicode started in 1987
126 Allows you to store text in any language Both alive and dead
127 Allows you to store text combining multiple languages in the same file
128 Each character gets a number (a.k.a. code point) and a description.
129 That doesn't guarantee your font will display it. You might see a replacement character instead. This can be a question mark or some square.
130 UTF-8 Unicode Transformation Format
131 This is an character encoding for unicode. It is not the only unicode enconding. UTF-16 (fixed: ucs2) UTF-32 (ucs4)
132 This translates from code points to a binary string.
133 UTF-8 and ASCII share the same characters for 0<127.
134 Non-ASCII characters are stored as 2, 3 or 4-bytes.
135 UTF-32 UTF-16 UTF-8 ISO ASCII Baudot Here you can see the minimum and maximum number of bytes required to store one character. The blue show minimum and the red shows the variable part. This shows that UTF-8 is efficient in terms of storage for latin scripts
136 If a byte starts with '0xxxxxxx' then it is a 1-byte character
137 If a byte starts with '110' it is a start of a 2- byte character.
138 If a byte starts with '10' then it is a continuation of a multibyte character.
139 If a byte starts with '1110' it is the start of a 3-byte character.
140 If a byte starts with '11110' it is the start of a 4-byte character.
141 Examples: a = ë = Here you can see the letter a and the letter e with the dots (diaeresis, trema)
142 UTF-8 And MySQL Now we get into MySQL specifics
143 Some reasons to use UTF-8 in MySQL
144 Non-english scripts like Chinese, Cyrillic or Greek. Names Comments URL's addresses
145 Emoji (including in the help text of your mobile app) Hamburger icon
146 utf8 in MySQL is an alias for utf8mb3
147 utf8mb3 can store 3-byte UTF-8
148 utf8mb4 can store 4-byte UTF-8 utf8mb4 exists since 5.5.3
149 Best practice: Always use utf8mb4, don't use utf8
150 Where to set the encoding?
151 It is set on a per-column basis
152 There is a per-table default
153 There is a per-database default Stored in db.opt Use ALTER DATABASE to change it
154 There is a per-server default: character_set_server
155 Connections also have a character set Set the character set in your connection properties If that isn't possible: Use SET NAMES utf8mb4
156 Drawbacks of UTF-8
157 So just set everything to utf8mb4? The question we want to answer is...
158 It depends The answer is...
159 Does your application support it? Input validation Character length Security
160 CHAR(10) suddenly needs 40 bytes!
161 TINYTEXT has a size limit in bytes With utf8m4 you can store between 63 and 255 characters. This also happens to other TEXT types and BLOB types
162 The MEMORY storage engine expands VARCHAR(10) to 40 bytes This affects: - User created tables - Internal temporary tables
163 With InnoDB your index grows over 767 bytes. Use innodb_large_prefex with COMPRESSED or DYNAMIC
164 Best practice: Use latin1 for server, database and table default. Enable Unicode on columns which need it. Or use utf8mb4 all the way if you don't need the efficiency and performance of latin1 Changing everything to VARBINARY and BLOB will not solve your issue.
165 Converting your data
166 How to convert from latin1 to utf8mb4?
167 ALTER TABLE t1 MODIFY COLUMN c1 VARCHAR(100) CHARACTER SET utf8mb4;
168 But I have many columns!
169 Use CONCAT() and information_schema to generate the statements
170 Or convert all columns: ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb4; Also for INSERTs!
171 Change defaults
172 Set character_set_server
173 ALTER SCHEMA s1 DEFAULT CHARACTER SET utf8mb4;
174 ALTER TABLE t1 DEFAULT CHARACTER SET utf8mb4;
175 Common failures
176 Application looks okay, but in MySQL the data looks wrong 'Search' in the application might not function correctly
177 The latin1 column was holding utf8 data already
178 Wrong conversion == garbage Don't just convert this data. Run a latin1 to UTF-8 conversion on data which already was UTF-8 will result in garbage.
179 Change column to varbinary and then to utf8mb4 to not convert the data.
180 The conversion fails and eats your data MySQL tries really hard to convert your data but this might not be possible.
181 Use sql_mode='strict_all_tables'
182 Now the operation will fail instead of truncate your data Also for inserts
183 Connection set to utf8, but data is 4-byte UTF-8. You can't insert 4-byte or request 4- byte characters
184 Collation support There is no utf8mb4_general_cs (case sensitive) There is utf8mb4_unicode_ci And utf8mb4_unicode_520_ci And utf8mb4_bin unicode_ci = UCA Unicode_520 UCA Latest 8.0.0
185 Here we compare the sun and moon emoji.
186 Special collations get lost during conversion Collation = Sorting & Equality
187 ALTER TABLE CONVERT TO only supports one collation
188 Safe collation before the ALTER and then restore it for columns which have a nondefault collation.
189 Collation mismatch
190 Here MySQL does not now which collation to use.
191 Use COLLATE to set the desired collation for the operation.
192
193 é and + e are not identical Combining characters
194 Unicode normalization forms NFC Composed NFD Decomposed NFKC Composed NFKD Decomposed NFK removes compatibility distinction and will lose information. But this is useful for search etc.
195 Best practice: Normalize strings in your application
196 4-byte characters get silently lost on dump/restore
197 Set utf8mb4 as default charset for the connection mysqldump uses
198 This shows what we can do with a patched mysql client. This uses unicode drawing characters
199 This shows the unicode character database imported into MySQL
200
201 Did you know a BOM can be in the middle of a string? Also MySQL doesn't handle BOM's well
202 Fulltext search & CJK
203 Not every character has the same width
204 Not even if we use a monospace font
205 A character can have a width of 0, 1, 2 or -1 positions
206 Punycode
207 Ligatures, Glyphs, Characters
208 Using Unicode
209 Fonts
210 Typing
211 Virtual keyboards
212 Control characters
213 Charset is not a constraint
214 Replacement characters
Database Migration from MySQL to RDM Server
MIGRATION GUIDE Database Migration from MySQL to RDM Server A Birdstep Technology, Inc. Raima Embedded Database Division Migration Guide Published: May, 2009 Author: Daigoro F. Toyama Senior Software Engineer
More informationUnicode Enabling Java Web Applications
Internationalization Report: Unicode Enabling Java Web Applications From Browser to DB Provided by: LingoPort, Inc. 1734 Sumac Avenue Boulder, Colorado 80304 Tel: +1.303.444.8020 Fax: +1.303.484.2447 http://www.lingoport.com
More informationHow To Write A Domain Name In Unix (Unicode) On A Pc Or Mac (Windows) On An Ipo (Windows 7) On Pc Or Ipo 8.5 (Windows 8) On Your Pc Or Pc (Windows
IDN TECHNICAL SPECIFICATION February 3rd, 2012 1 IDN technical specifications - Version 1.0 - February 3rd, 2012 IDN TECHNICAL SPECIFICATION February 3rd, 2012 2 Table of content 1. Foreword...3 1.1. Reference
More informationMS ACCESS DATABASE DATA TYPES
MS ACCESS DATABASE DATA TYPES Data Type Use For Size Text Memo Number Text or combinations of text and numbers, such as addresses. Also numbers that do not require calculations, such as phone numbers,
More informationInternationalizing the Domain Name System. Šimon Hochla, Anisa Azis, Fara Nabilla
Internationalizing the Domain Name System Šimon Hochla, Anisa Azis, Fara Nabilla Internationalize Internet Master in Innovation and Research in Informatics problematic of using non-ascii characters ease
More informationMySQL Storage Engines
MySQL Storage Engines Data in MySQL is stored in files (or memory) using a variety of different techniques. Each of these techniques employs different storage mechanisms, indexing facilities, locking levels
More informationOracle Database 11g Express Edition PL/SQL and Database Administration Concepts -II
Oracle Database 11g Express Edition PL/SQL and Database Administration Concepts -II Slide 1: Hello and welcome back to the second part of this online, self-paced course titled Oracle Database 11g Express
More informationProduct Internationalization of a Document Management System
Case Study Product Internationalization of a ì THE CUSTOMER A US-based provider of proprietary Legal s and Archiving solutions, with a customizable document management framework. The customer s DMS was
More informationPart 3. MySQL DBA I Exam
Part 3. MySQL DBA I Exam Table of Contents 23. MySQL Architecture... 3 24. Starting, Stopping, and Configuring MySQL... 6 25. Client Programs for DBA Work... 11 26. MySQL Administrator... 15 27. Character
More informationUnraveling Unicode: A Bag of Tricks for Bug Hunting
Unraveling Unicode: A Bag of Tricks for Bug Hunting Black Hat USA July 2009 Chris Weber www.lookout.net chris@casabasecurity.com Casaba Security Can you tell the difference? How about now? The Transformers
More informationMulti-lingual Label Printing with Unicode
Multi-lingual Label Printing with Unicode White Paper Version 20100716 2009 SATO CORPORATION. All rights reserved. http://www.satoworldwide.com softwaresupport@satogbs.com 2009 SATO Corporation. All rights
More informationChoosing a Data Model for Your Database
In This Chapter This chapter describes several issues that a database administrator (DBA) must understand to effectively plan for a database. It discusses the following topics: Choosing a data model for
More informationFileMaker 14. ODBC and JDBC Guide
FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,
More informationInternationalized Domain Names -
Internationalized Domain Names - Getting them to work Gihan Dias LK Domain Registry What is IDN? Originally DNS names were restricted to the characters a-z (letters), 0-9 (digits) and '-' (hyphen) (LDH)
More informationPreservation Handbook
Preservation Handbook Plain text Author Version 2 Date 17.08.05 Change History Martin Wynne and Stuart Yeates Written by MW 2004. Revised by SY May 2005. Revised by MW August 2005. Page 1 of 7 File: presplaintext_d2.doc
More informationUnicode Security. Software Vulnerability Testing Guide. July 2009 Casaba Security, LLC www.casabasecurity.com
Unicode Security Software Vulnerability Testing Guide (DRAFT DOCUMENT this document is currently a preview in DRAFT form. Please contact me with corrections or feedback.) Software Globalization provides
More informationFileMaker 13. ODBC and JDBC Guide
FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
More informationUsing SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
More informationRight-to-Left Language Support in EMu
EMu Documentation Right-to-Left Language Support in EMu Document Version 1.1 EMu Version 4.0 www.kesoftware.com 2010 KE Software. All rights reserved. Contents SECTION 1 Overview 1 SECTION 2 Switching
More informationJasperServer Localization Guide Version 3.5
Version 3.5 2008 JasperSoft Corporation. All rights reserved. Printed in the U.S.A. JasperSoft, the JasperSoft logo, JasperAnalysis, JasperServer, JasperETL, JasperReports, JasperStudio, ireport, and Jasper4
More informationSQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.
SQL Databases Course by Applied Technology Research Center. 23 September 2015 This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. Oracle Topics This Oracle Database: SQL
More informationInternationalization of Domain Names
Internationalization of Domain Names Marc Blanchet (Marc.Blanchet@viagenie.qc.ca) Co-chair of the IETF idn working group Viagénie (http://www.viagenie.qc.ca) Do You Like Quoted Printable? If yes, then
More informationDetermining your storage engine usage
Y ou have just inherited a production MySQL system and there is no confirmation that an existing MySQL backup strategy is in operation. What is the least you need to do? Before undertaking any backup strategy,
More informationASCII Code. Numerous codes were invented, including Émile Baudot's code (known as Baudot
ASCII Code Data coding Morse code was the first code used for long-distance communication. Samuel F.B. Morse invented it in 1844. This code is made up of dots and dashes (a sort of binary code). It was
More informationDBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems kai@sun.com Santa Clara, April 12, 2010
DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems kai@sun.com Santa Clara, April 12, 2010 Certification Details http://www.mysql.com/certification/ Registration at Conference Closed Book
More informationSQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
More informationMySQL for Beginners Ed 3
Oracle University Contact Us: 1.800.529.0165 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database.
More informationFmPro Migrator - FileMaker to SQL Server
FmPro Migrator - FileMaker to SQL Server FmPro Migrator - FileMaker to SQL Server 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 FmPro Migrator - FileMaker to SQL Server Migration
More informationThe Unicode Standard Version 8.0 Core Specification
The Unicode Standard Version 8.0 Core Specification To learn about the latest version of the Unicode Standard, see http://www.unicode.org/versions/latest/. Many of the designations used by manufacturers
More informationSQL. Short introduction
SQL Short introduction 1 Overview SQL, which stands for Structured Query Language, is used to communicate with a database. Through SQL one can create, manipulate, query and delete tables and contents.
More informationHow to represent characters?
Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. How to represent characters?
More informationChapter 4: Computer Codes
Slide 1/30 Learning Objectives In this chapter you will learn about: Computer data Computer codes: representation of data in binary Most commonly used computer codes Collating sequence 36 Slide 2/30 Data
More informationHKSCS-2004 Support for Windows Platform
HKSCS-2004 Support for Windows Platform Windows XP Font Pack for ISO 10646:2003 + Amendment 1 Traditional Chinese Support (HKSCS-2004) update for Windows XP and Windows Server 2003 June 2010 Version 1.0
More informationFour ACEs. A Survey of ASCII Compatible Encodings. International Unicode Conference 22 September 2002
Four ACEs A Survey of ASCII Compatible Encodings International Unicode Conference 22 September 2002 by Addison P. Phillips Director, Globalization Architecture c TABLE OF CONTENTS INTRODUCTION... 3 WHAT'S
More informationDatabase Administration with MySQL
Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational
More informationData Integrator. Encoding Reference. Pervasive Software, Inc. 12365-B Riata Trace Parkway Austin, Texas 78727 USA
Data Integrator Encoding Reference Pervasive Software, Inc. 12365-B Riata Trace Parkway Austin, Texas 78727 USA Telephone: 888.296.5969 or 512.231.6000 Fax: 512.231.6010 Email: info@pervasiveintegration.com
More informationInternationalizing JavaScript Applications Norbert Lindenberg. Norbert Lindenberg 2013. All rights reserved.
Internationalizing JavaScript Applications Norbert Lindenberg Norbert Lindenberg 2013. All rights reserved. Agenda Unicode support Collation Number and date/time formatting Localizable resources Message
More informationServices. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.
& & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows
More informationSMPP protocol analysis using Wireshark (SMS)
SMPP protocol analysis using Wireshark (SMS) Document Purpose Help analyzing SMPP traffic using Wireshark. Give hints about common caveats and oddities of the SMPP protocol and its implementations. Most
More informationThis guide specifies the required and supported system elements for the application.
System Requirements Contents System Requirements... 2 Supported Operating Systems and Databases...2 Features with Additional Software Requirements... 2 Hardware Requirements... 4 Database Prerequisites...
More informationvtiger CRM Database UTF-8 Configuration (For MySQL)
vtiger CRM Database UTF-8 Configuration (For MySQL) Table of Contents 1 Introduction...3 2 MySQL UTF-8 Support...3 2.1 Server Level...3 2.2 Database Level...3 2.3 Table Level...4 2.4 Column Level...4 3
More informationMySQL+HandlerSocket=NoSQL
Why you need NoSQL Alternatives Meet HS HS internal working HS-MySQL interoperability Interface MySQL+HandlerSocket=NoSQL Protocol Using HS Commands Peculiarities Configuration hints Use cases @ Badoo
More informationThe use of binary codes to represent characters
The use of binary codes to represent characters Teacher s Notes Lesson Plan x Length 60 mins Specification Link 2.1.4/hi Character Learning objective (a) Explain the use of binary codes to represent characters
More informationEncoding Text with a Small Alphabet
Chapter 2 Encoding Text with a Small Alphabet Given the nature of the Internet, we can break the process of understanding how information is transmitted into two components. First, we have to figure out
More informationExtracting META information from Interbase/Firebird SQL (INFORMATION_SCHEMA)
13 November 2007 22:30 Extracting META information from Interbase/Firebird SQL (INFORMATION_SCHEMA) By: http://www.alberton.info/firebird_sql_meta_info.html The SQL 2003 Standard introduced a new schema
More informationflask-mail Documentation
flask-mail Documentation Release 0.9.1 Dan Jacob February 16, 2016 Contents 1 Links 3 2 Installing Flask-Mail 5 3 Configuring Flask-Mail 7 4 Sending messages 9 5 Bulk emails 11 6 Attachments 13 7 Unit
More informationXtraBackup: Hot Backups and More
XtraBackup: Hot Backups and More Vadim Tkachenko Morgan Tocker http://percona.com http://mysqlperformanceblog.com MySQL CE Apr 2010 -2- Introduction Vadim Tkachenko Percona Inc, CTO and Lead of Development
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More informationSQL INJECTION TUTORIAL
SQL INJECTION TUTORIAL A Tutorial on my-sql Author:- Prashant a.k.a t3rm!n4t0r C0ntact:- happyterminator@gmail.com Greets to: - vinnu, b0nd, fb1h2s,anarki, Nikhil, D4Rk357, Beenu Special Greets to: - Hackers
More informationExcel 2013 Sort: Custom Sorts, Sort Levels, Changing Level & Sorting by Colored Cells
Excel 2013 Sort: Custom Sorts, Sort Levels, Changing Level & Sorting by Colored Cells As you keep adding more content to a worksheet, organizing that information becomes important. You can quickly reorganize
More informationKazuraki : Under The Hood
Kazuraki : Under The Hood Dr. Ken Lunde Senior Computer Scientist Adobe Systems Incorporated Why Develop Kazuraki? To build excitement and awareness about OpenType Japanese fonts Kazuraki is the first
More informationFrequently Asked Questions on character sets and languages in MT and MX free format fields
Frequently Asked Questions on character sets and languages in MT and MX free format fields Version Final 17 January 2008 Preface The Frequently Asked Questions (FAQs) on character sets and languages that
More informationIBM Unica emessage Version 8 Release 6 February 13, 2015. User's Guide
IBM Unica emessage Version 8 Release 6 February 13, 2015 User's Guide Note Before using this information and the product it supports, read the information in Notices on page 403. This edition applies to
More informationData Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
More informationShoutCast v2 - Broadcasting with SAM Broadcaster
ShoutCast v2 - Broadcasting with SAM Broadcaster In this tutorial we are going to explain how to broadcast to our ShoutCast v2 running under CentovaCast 3 using SAM Broadcaster. Differences Between ShoutCast
More informationLinas Virbalas Continuent, Inc.
Linas Virbalas Continuent, Inc. Heterogeneous Replication Replication between different types of DBMS / Introductions / What is Tungsten (the whole stack)? / A Word About MySQL Replication / Tungsten Replicator:
More informationXML Character Encoding and Decoding
XML Character Encoding and Decoding January 2013 Table of Contents 1. Excellent quotes 2. Lots of character conversions taking place inside our computers and on the Web 3. Well-formedness error when encoding="..."
More informationThe first thing to do is choose if you are creating a mail merge for printing or an e-mail merge for distribution over e-mail.
Create a mail or e-mail merge Use mail or e-mail merge when you want to create a large number of documents that are mostly identical but include some unique information. For example, you can use mail merge
More information3.GETTING STARTED WITH ORACLE8i
Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer
More informationEURESCOM - P923 (Babelweb) PIR.3.1
Multilingual text processing difficulties Malek Boualem, Jérôme Vinesse CNET, 1. Introduction Users of more and more applications now require multilingual text processing tools, including word processors,
More informationHow to translate your website. An overview of the steps to take if you are about to embark on a website localization project.
How to translate your website An overview of the steps to take if you are about to embark on a website localization project. Getting Started Translating websites can be an expensive and complex process.
More informationSalesforce Classic Guide for iphone
Salesforce Classic Guide for iphone Version 37.0, Summer 16 @salesforcedocs Last updated: July 12, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark
More informationB.1 Database Design and Definition
Appendix B Database Design B.1 Database Design and Definition Throughout the SQL chapter we connected to and queried the IMDB database. This database was set up by IMDB and available for us to use. But
More informationComparison of Open Source RDBMS
Comparison of Open Source RDBMS DRAFT WORK IN PROGRESS FEEDBACK REQUIRED Please send feedback and comments to s.hetze@linux-ag.de Selection of the Candidates As a first approach to find out which database
More informationTable of Contents. Introduction: 2. Settings: 6. Archive Email: 9. Search Email: 12. Browse Email: 16. Schedule Archiving: 18
MailSteward Manual Page 1 Table of Contents Introduction: 2 Settings: 6 Archive Email: 9 Search Email: 12 Browse Email: 16 Schedule Archiving: 18 Add, Search, & View Tags: 20 Set Rules for Tagging or Excluding:
More informationnot at all a manual simply a quick how-to-do guide
not at all a manual simply a quick how-to-do guide As a general rule, the GUI implemented by spatialite-gis is closely related to the one implemented by the companion app spatialite-gui So, if you are
More informationTeradata SQL Assistant Version 13.0 (.Net) Enhancements and Differences. Mike Dempsey
Teradata SQL Assistant Version 13.0 (.Net) Enhancements and Differences by Mike Dempsey Overview SQL Assistant 13.0 is an entirely new application that has been re-designed from the ground up. It has been
More informationTable Of Contents. iii
PASSOLO Handbook Table Of Contents General... 1 Content Overview... 1 Typographic Conventions... 2 First Steps... 3 First steps... 3 The Welcome dialog... 3 User login... 4 PASSOLO Projects... 5 Overview...
More informationUSING MICROSOFT WORD 2008(MAC) FOR APA TASKS
USING MICROSOFT WORD 2008(MAC) FOR APA TASKS MS WORD 2008(MAC), GENERAL TIPS Backspace and Delete The keyboard has two delete keys: Backspace and Delete. What s the difference? The Backspace key deletes
More informationNew Features in MySQL 5.0, 5.1, and Beyond
New Features in MySQL 5.0, 5.1, and Beyond Jim Winstead jimw@mysql.com Southern California Linux Expo February 2006 MySQL AB 5.0: GA on 19 October 2005 Expanded SQL standard support: Stored procedures
More informationOntrack PowerControls User Guide Version 8.0
ONTRACK POWERCONTROLS Ontrack PowerControls User Guide Version 8.0 Instructions for operating Ontrack PowerControls in Microsoft SQL Server Environments NOVEMBER 2014 NOTICE TO USERS Ontrack PowerControls
More informationThe future of International SEO. The future of Search Engine Optimization (SEO) for International Business
The future of International SEO The future of Search Engine Optimization (SEO) for International Business Whitepaper The World Wide Web is now allowing special characters in URLs which means crawlers now
More informationsqlite driver manual
sqlite driver manual A libdbi driver using the SQLite embedded database engine Markus Hoenicka mhoenicka@users.sourceforge.net sqlite driver manual: A libdbi driver using the SQLite embedded database engine
More informationELFRING FONTS UPC BAR CODES
ELFRING FONTS UPC BAR CODES This package includes five UPC-A and five UPC-E bar code fonts in both TrueType and PostScript formats, a Windows utility, BarUPC, which helps you make bar codes, and Visual
More informationA list of data types appears at the bottom of this document. String datetimestamp = new java.sql.timestamp(system.currenttimemillis()).
Data Types Introduction A data type is category of data in computer programming. There are many types so are clustered into four broad categories (numeric, alphanumeric (characters and strings), dates,
More informationConnectivity Pack for Microsoft Guide
HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements
More informationIntroduction to Unicode. By: Atif Gulzar Center for Research in Urdu Language Processing
Introduction to Unicode By: Atif Gulzar Center for Research in Urdu Language Processing Introduction to Unicode Unicode Why Unicode? What is Unicode? Unicode Architecture Why Unicode? Pre-Unicode Standards
More informationNØGSG DMR Contact Manager
NØGSG DMR Contact Manager Radio Configuration Management Software for Connect Systems CS700 and CS701 DMR Transceivers End-User Documentation Version 1.24 2015-2016 Tom A. Wheeler tom.n0gsg@gmail.com Terms
More informationApache Cassandra Query Language (CQL)
REFERENCE GUIDE - P.1 ALTER KEYSPACE ALTER TABLE ALTER TYPE ALTER USER ALTER ( KEYSPACE SCHEMA ) keyspace_name WITH REPLICATION = map ( WITH DURABLE_WRITES = ( true false )) AND ( DURABLE_WRITES = ( true
More informationEMBL-EBI. Database Replication - Distribution
Database Replication - Distribution Relational public databases EBI s mission to provide freely accessible information on the public domain Data formats and technologies, should not contradict to this
More informationBinary Representation. Number Systems. Base 10, Base 2, Base 16. Positional Notation. Conversion of Any Base to Decimal.
Binary Representation The basis of all digital data is binary representation. Binary - means two 1, 0 True, False Hot, Cold On, Off We must be able to handle more than just values for real world problems
More informationA Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
More informationDiscovering SQL. Wiley Publishing, Inc. A HANDS-ON GUIDE FOR BEGINNERS. Alex Kriegel WILEY
Discovering SQL A HANDS-ON GUIDE FOR BEGINNERS Alex Kriegel WILEY Wiley Publishing, Inc. INTRODUCTION xxv CHAPTER 1: DROWNING IN DATA, DYING OF THIRST FOR KNOWLEDGE 1 Data Deluge and Informational Overload
More informationJapanese Character Printers EPL2 Programming Manual Addendum
Japanese Character Printers EPL2 Programming Manual Addendum This addendum contains information unique to Zebra Technologies Japanese character bar code printers. The Japanese configuration printers support
More informationHow to be a CSI (encoding Crime Scene Investigator)
Objectives for Crime Scene Investigation How to be a CSI (encoding Crime Scene Investigator) ex exin Internationalization Architect Yahoo Inc. Have some fun Prevent death by bullet points Introduce strategies
More informationBangla Localization of OpenOffice.org. Asif Iqbal Sarkar Research Programmer BRAC University Bangladesh
Bangla Localization of OpenOffice.org Asif Iqbal Sarkar Research Programmer BRAC University Bangladesh Localization L10n is the process of adapting the text and applications of a product or service to
More informationNational Language (Tamil) Support in Oracle An Oracle White paper / November 2004
National Language (Tamil) Support in Oracle An Oracle White paper / November 2004 Vasundhara V* & Nagarajan M & * vasundhara.venkatasubramanian@oracle.com; & Nagarajan.muthukrishnan@oracle.com) Oracle
More informationMS SQL Performance (Tuning) Best Practices:
MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware
More informationD61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
More informationXML. CIS-3152, Spring 2013 Peter C. Chapin
XML CIS-3152, Spring 2013 Peter C. Chapin Markup Languages Plain text documents with special commands PRO Plays well with version control and other program development tools. Easy to manipulate with scripts
More informationMailsteward Pro Table of Contents
MailSteward Pro Manual Page 1 Mailsteward Pro Table of Contents Introduction: 2 Installing MySQL : 6 Connect to MySQL Server: 8 Meeting Federal Legal Requirements: 11 Settings: 12 Archive Email: 15 Search
More informationAbstract. For notes detailing the changes in each release, see the MySQL for Excel Release Notes. For legal information, see the Legal Notices.
MySQL for Excel Abstract This is the MySQL for Excel Reference Manual. It documents MySQL for Excel 1.3 through 1.3.6. Much of the documentation also applies to the previous 1.2 series. For notes detailing
More informationOmniDB - User s Guide
OmniDB - User s Guide Rafael T. Castro, Luis Felipe T. Castro and William Ivanski 2016 Rafael T. Castro, Luis Felipe T. Castro and William Ivanski Contents 1. Introduction...........................................
More informationAn Email Newsletter Using ASP Smart Mailer and Advanced HTML Editor
An Email Newsletter Using ASP Smart Mailer and Advanced HTML Editor This tutorial is going to take you through creating a mailing list application to send out a newsletter for your site. We'll be using
More informationEfficient Pagination Using MySQL
Efficient Pagination Using MySQL Surat Singh Bhati (surat@yahoo-inc.com) Rick James (rjames@yahoo-inc.com) Yahoo Inc Percona Performance Conference 2009 Outline 1. Overview Common pagination UI pattern
More informationOpen Repository, Open Source
Open Repository, Open Source Where we were, What we've learnt, And what it means to you 3rd July 2007 Open Repository, Open Source 1 The Hardware 2x DL360 G2 1xMSA 1500cs 1xMSA 1000 1xMSA 20 2 TBs capacity
More informationChapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design
Chapter 6: Physical Database Design and Performance Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Robert C. Nickerson ISYS 464 Spring 2003 Topic 23 Database
More informationMySQL Command Syntax
Get It Done With MySQL 5&6, Chapter 6. Copyright Peter Brawley and Arthur Fuller 2015. All rights reserved. TOC Previous Next MySQL Command Syntax Structured Query Language MySQL and SQL MySQL Identifiers
More informationCentricity Enterprise Web 3.0 DICOM Conformance Memo DOC0094970
DOC0094970 CONTENTS 1 Introduction... 3 1.1 Scope and Purpose... 3 1.2 Intended Audience... 3 1.3 Scope and Field of Application... 3 1.4 References... 4 1.5 Definitions... 4 1.6 Symbols and Abbreviations...
More informationToday s topics. Digital Computers. More on binary. Binary Digits (Bits)
Today s topics! Binary Numbers! Brookshear.-.! Slides from Prof. Marti Hearst of UC Berkeley SIMS! Upcoming! Networks Interactive Introduction to Graph Theory http://www.utm.edu/cgi-bin/caldwell/tutor/departments/math/graph/intro
More information