Global, Local, Social: ATypI Barcelona 2014 (Part 1)

The 58th annual conference by the Association Typographique Internationale (ATypI) from September 17 to 21, 2014, was held in Barcelona – for the third time in the history of ATypI, after 1972 and 1995. It was a great experience. With this year’s theme, Typographic Dialogues, ATypI invited students and professionals to participate in a delightful mixture of workshops, lectures, social events and exhibitions, and to explore the wider fields of design and typography together.

The first two days with practical, technical and educational topics plus workshops took place in the BAU Design College; then for the three main conference days with longer lectures focusing on history, international strategies and research, we moved to the Museu del Disseny (Design Museum), Barcelona. Yes, the main official language in Barcelona has become Catalán, followed by Spanish, then English – the first thing you notice as a visitor at the airport.

The sky in Barcelona is blue almost all the time and is called “cel” – which is Catalan. Or “cielo” in Spanish.

Day 1: Technical advice, lots of user-centered lectures, and a corporate community programme that comes as surprise

If you take a look at the presentations programme and see the complete list of speakers and topics, you will realize it was a lot. It is simply not possible to give a complete survey of everybody and everything, sorry! I picked out my personal favorites, pars-pro-toto style.
A good example of the excellent technical talks was Parametric typefaces in a nutshell by Berlin-based Thomas Maier, “a short history of formula driven typefaces”. Building on the premise that designing a font means making decisions and setting at least one rule, Thomas Maier reminded us of beautiful results such as

  • Donald E. Knuth’s Metafont (1979),
  • Euler Metafont (1983) by Knuth, Hermann Zapf and David Siegel,
  • Donald Knuth’s Punk Metafont (1988)
  • FF Beowolf by Erik van Blokland and Just van Rossum (1989, Random PostScript-Type-3-Font),
  • Erik van Blokland’s Flipper-Font FF Kosmik (1993),
  • Zuzana Licko’s Variex (1988, PostScript-Type-3-Font with varying stroke thickness).

For Metafont, Donald E. Knuth (in 1979) created different styles by varying the parameters and by increasingly random pen positions.

Maier also provideds information about the discussions around Metafonts, Metamathematics, and Metaphysics (in which people like Douglas R. Hofstadter were involved), classification systems for example by Benjamin Bauermeister (1988, Panose-1-parameters) or Larry Applegate, Ernie Brock, and Robin Henson (Ares FontChameleon 1993–1997, with 26–220 base fonts), and interpolation systems.

Multiple Masters: Remixing the rules
The most popular interpolation systems have been Ikarus (1981) by Peter Karow and URW, the famous Adobe Multiple Master technology (1992), and Apple QuickDraw GX Axes (1995). Yet Stephenson Blake used Pantographic Interpolation as early as 1930, Peter Karow with Multitype in 1992. In 1988, together with Hermann Zapf, Karow set up their “hz-program” with – as Thomas Maier sums it up – “smart rules for hyphenation and justification” including

  • smart whitespace, balanced right and left margins
  • optical scaling
  • smart condensing and expanding of letters for more consistent justification
  • kerning on the fly
  • balance ragged lines in left aligned lines
  • hyphenation per paragraph, not per line
  • the algorithm running backwards over the text.

Jam by Erik van Blokland with three axes: “Bang” is the weight, “Crumble” causes some of the objects to deflate, “Splatter” causes one or two objects to come into view as random bits of dust (picture from Thomas Maier’s presentation).

Maier also provided theoretical background on interpolation, the best-known and probably earliest model being Gerrit Noordzij’s The Stroke of the Pen (1985) which explores the type space of handwriting by dynamic translation, expansion, and rotation. The book cover was designed by Petr van Blokland as an intern at URW at that time, working on interpolation in Ikarus – just to give you the big picture.

Interpolation tools today
Today, probably the best-known player in the field is

But there are more to be tested (if you haven’t yet), like

Further tools, adding modular to the parametrical techniques, include

They offer different features or different combinations of features, all worth trying out. This was possible for ATypI attendees the same day at the workshops at BAU Design college. Among others, Frederik Berlaen explained what the possibilities are with RoboFont and Erik van Blokland presented a Superpolator3 workshop.

Metapolator allows designers to use Metafont technology without have to write Metafont code.

For more information and compilations of Metafonts (also otf), Thomas Maier recommends

concluding his presentation with the statement that “it’s not about rules, it’s about exceptions”.

Homeless Fonts

Monotype’s Bill Davies presented a surprising project in collaboration with the Arrels foundation. Founded in 1987, Arrels is devoted to bring attention to, and help homeless people in the city of Barcelona. Together they support a local community project which actually is a font project. Arrels set up workshops with homeless people to turn their handwriting into typefaces – the handwriting lifted from the cardboard panels they use to beg for money, which attracted their attention.

The Homelessfonts website is worth taking a look – for its design, the videos, and the professional and touching presentation.

When I asked him about it during a coffee break, Bill Davies explained he was so impressed by the project that he decided to not only support it and visit the local workshop, but also talk about it in public – a new thing at Monotype. Because their other community projects were never so close to their core business, they never advertised them. However, the Homelessfonts project will come to an end at some point, or – according to Bill – will have to evolve and change, as it makes little sense to continue producing countless handwriting fonts. So what’s up next? Arrels is already planning to build furniture with the homeless, thus making use of and improving on their carpenter skills. Bill Davies is committed to keep supporting future endeavors by the organization.

This will also be continued. Look forward to part 2, reporting about the educational emphasis of the ATypI Barcelona lectures.

FontShop’s very own Andreas Frohloff – famous for the popular calligraphy workshops he gives at the TYPO Berlin conferences – took the opportunity to participate in a workshop himself…

The FontShop FontFeed

11 ways clients can communicate better with designers

Read more about 11 ways clients can communicate better with designers at

If you’re a business owner, it’s likely you’ve hired or will soon be hiring a designer. You may hire…

Creative Bloq

What You Need to Know about Designing Information Dashboards

We come across information dashboards everyday in various applications we use. Have you seen a dashboard that looked plain ugly? Have you come across one that didn’t inform you, the viewer, but confused you about what it’s trying to say? Or have you seen one that you were drawn to because of how visually appealing, and how informative it is? At those times, you’ve probably thought about what makes a dashboard effective or ineffective.

In this post, we discuss some of the key ideas that data visualization experts have shared about dashboards, in the hope that it’ll help you spot a good dashboard from a bad one. And if you build dashboards, the guidelines here will help you communicate more powerfully using dashboards.

Stephen Few’s Definition of a Dashboard

Let’s begin by defining what a dashboard is. Stephen Few, the leading expert on information dashboards, defines a dashboard as follows:

“A dashboard is a visual display of the most important information needed to achieve one or more objectives; consolidated and arranged on a single screen so the information can be monitored at a glance.”Stephen Few, Information Dashboard Design: The Effective Visual Communication of Data.

Now, that’s a mouthful. Let’s distill it to the most important words:

  • Visual display – This doesn’t mean that all dashboards need to have charts. A dashboard can be as effective with just text information in the form of KPIs. However, all dashboards are viewed by people, and a good understanding of human visual perception is important when building dashboards.
  • Most important information – Dashboards that track mundane, useless information are doomed even before anyone views them. All dashboards plot information that the viewer cares about.
  • Objectives – Every dashboard has an objective. Whether it’s to inform a viewer, or to get them to take an action, or to initiate an automated action in another application, there is an objective.
  • Single screen – This is debatable in today’s mobile-first world, where the screen sizes vary from small smartphones, to large wall-mounted displays. Still, the idea of presenting information in a concise manner holds true.
  • At a glance – A dashboard shouldn’t make the viewer jump through hoops to understand what it has to say. It needs to present information plainly, and invite the viewer to explore further if they like.

Here’s a dashboard created by Stephen Few, which stands as a great example of what an effective dashboard looks like:

Image source:

Now, let’s get down to the process of building an effective dashboard. Let’s begin by discussing what are the three types of dashboards.

Dashboards for Different Audiences

One way to classify dashboards is by the audience it’s meant for. Accordingly, dashboards can be classified into three types:

  • Executive Dashboards – Also called ‘Strategic Dashboards’, These dashboards are viewed by the senior management in an organization. Their objective is to inform executives of how a company is tracking against its strategic goals. They answer the question ‘How are we doing as an organization?’ It’s common for these dashboards to have the most important KPI metrics alongside a few charts with historic data to give context to the KPIs. Based on what the KPI numbers are, executives may
    want to drill down to gather more details about the situation. Because of the hierarchy of data, it’s important for these dashboards to follow Ben Shneiderman’s lnformation-Seeking Mantra – “Overview first, zoom and filter, then details-on-demand.”
  • Analytical Dashboards – Analytical dashboards are used by Business Analysts who focus on gaining insight from data. The analyst looks at historical data to spot trends, and reasons for fluctuations in performance. They also look to predict future performance based on a variety of internal and external factors. The analyst viewing these dashboards asks the question ‘How can we meet and exceed organizational goals?’ Analysts using these dashboards are armed with specialized training, and accordingly, analytical dashboards should contain advanced interactive features that enable the analysts to get more value out of the data. It follows that these dashboards aren’t used by all employees.
  • Operational Dashboards – These dashboards are used by line-of-business managers, and the workforce on the frontline. It helps employees of a particular department be aware of goals for the team and for the company at large. It answers the question ‘Are we tracking our department goals for today?’ Operational dashboards contain only a subset of a company’s data that is relevant to the job at hand. Because of how highly focussed these dashboards are, they are often contain low latency, and even real-time data. Because of their importance to complete day-to-day tasks, operational dashboards should have the ability to drill down to the most minute level of detail.

Dashboards for Different Departments

Since a dashboard should contain the ‘most important information’ it’s important to define what the most important information is, for a particular department. Here are some metrics that are important to specific departments:

  • Manufacturing – Units manufactured, units by product type, cost per unit, projected orders, plant waste.
  • Sales – Leads, deals won, deals lost, average deal value, average deal time, sales by person, sales by region, sales by product.
  • Marketing – Awareness, visits, downloads, leads, cost per lead, customer acquisition costs, bounce rate.
  • Support – Total tickets, open tickets, average turn around time (TAT) , customer satisfaction (C-SAT), tickets resolved within SLA, tickets closed per person, % of issues resolved in first response.
  • HR – Attrition rate, interview closure rate, average time to hire, open positions by department, payroll breakdown.

These metrics serve as a guideline of what could be most important to each department. However, before building any dashboard, it’s necessary to take the time time to understand what matters to the viewer of your dashboard.

Now that we know what a dashboard is, the types of dashboards, and what metrics they contain, let’s look at one of the most important design principles that can make or break a dashboard.

Data-Ink Ratio

there are many principles to follow when creating dashboards, but if there’s one that stands out among the rest, it’s the principle of data-ink ratio

Data-Ink ratio is a concept introduced by Edward Tufte, one of the earliest experts in the field of data visualization. In his 1983 book, The Visual Display of Quantitative Information, he says “A large share of ink on a graphic should present data-information, the ink changing as the data change. Data-ink is the non-erasable core of a graphic, the non-redundant ink arranged in response to variation in the numbers represented.”

Below is an example of the same data represented with two charts – one with low data-ink ratio, and the other with a high ratio. You’ll notice that the one with a high data-ink ratio is a lot more appealing, and communicates the story behind the data more clearly.

Image source:

With dashboards, just as with websites, less is more.

Armed with this insight, you’re now ready to go out and build effective dashboards that solve problems, rather than confuse viewers.

Do you build information dashboards frequently? Which of these ideas will have the biggest impact on your dashboards?

The post What You Need to Know about Designing Information Dashboards appeared first on Speckyboy Web Design Magazine.

Speckyboy Web Design Magazine

Instagram launches video ads today

Your Instagram feed is going to start having a new type of ad in it: videos. Starting today, Instagram is allowing advertisers to start running 15-second video ads that’ll appear in your feed the same way that sponsored image posts have for almost a year now, according to Adweek. Instagram has reportedly been testing the videos for several months, so it’s possible that you’ve already seen one, but video ads are widely launching today, beginning with spots from Disney, Banana Republic, Activision, Lancome, and the CW network.

Continue reading…

The Verge – All Posts

The LaVista Bedroom Collection from Jelínek: The historic Czech furniture-maker presents its first design-oriented bedroom set

The LaVista Bedroom Collection from Jelínek

Though family-owned furniture brand Jelínek (based in the Czech town of Valašské Meziříčí) was founded in 1897, this is the first time in its long history that the company has worked with a designer to produce…

Continue Reading…

Cool Hunting

A Guide To Video And Audio Conversion Using FFmpeg

FFmpeg is a very powerful and great command line tool used for performing various conversion operations on audio and video files. The good thing about this tool is that it is absolutely free to use. It is available for Windows, Linux and Mac operating systems.

Not everyone knows how to use it though and for that purpose, I’ve come up with this guide on how to use FFmpeg for Windows OS. From the very first step of downloading the program to cropping an audio file, this tutorial aims to help you cover the basics, so that you can play around more later on.

Downloading FFmpeg for Windows

To download the tool, click here to go to the webpage. Once you’ve done that locate the download option, as shown below. The download option highlighted in green is for 32-bit Windows OS while the other option in red is for 64-bit Windows OS.

To verify if your OS is 32-bit or 64-bit, click on the Start icon on the left side of your desktop then type Run in search bar and in run write the command of dxdiag and press the Enter key.

Under the heading of ‘System Information’, you can easily find the name of the OS and the version being used (32-bit or 64-bit).

Extracting the Files

Once you have downloaded FFmpeg, you’ll have to extract the files from the .zip folder. For this purpose, you should have a zip extractor installed. You can download a free zip extractor called 7-zip from here.

After extracting the files, select all of the files, create a folder in C drive named FFmpegTool and paste all the files in this folder as shown below. It is important to note that you should keep the folder name and drive the same to avoid any problems in executing commands to perform conversions.

Starting FFmpeg

Go to Run, type cmd and press the Enter key. A command line window will appear as shown here.

Type cd\ and press the Enter key. It should appear as below.

Now type cd FFmpegTool, this command will allow you to enter into the FFmpegTool folder which we have created earlier (be careful with the spelling as any spelling mistake in command will cause an error).

Type cd bin and press the Enter key to access the content in the bin folder. You should see the following.

Finally, type ffmpeg.exe and press the Enter key. It will take 1 or 2 seconds to execute the command and you should be able to see the result shown below.

If you see text lines written on your screen (as per the above image) then it means the tool is working fine and ready to use.

Important Commands

Now, we’ll go through some of the important commands for FFmpeg. Copy the video in the bin folder on which you’ll perform the operations. I have copied a video called samplevideo and will use this video throughout the remainder of this post.

1. Extracting Audio only From Video File

Once you have tested that FFmpeg is working fine then type in the following command:

ffmpeg -i yourvideoname.mp4 -vn -ab 128 outputaudio.mp3

Here -vn is used to extract audio and -ab is used to save audio as 128Kbps MP3 file. You can change the bit rate to 256Kbps or something else. Just change the value after -ab. All of the output files will be stored automatically in the bin folder.

2. Extracting Video While Muting Audio

In the command written below, -an is used to remove the audio from the video file. The command should look like so:

ffmpeg -i yourvideoname.mp4 -an mutevideo.mp4

3. Resize the Video File

In the command written below, -s is used to resize the video file.The command is:

ffmpeg -i yourvideoname.mp4 -s 640x480 -c:a copy resizedvideo.mp4

4. Adding Poster Image to an Audio File

You can add a poster image to your audio file easily and the output would be a video file with an image being displayed in the front and audio in the background. This is really handy when uploading MP3 files to video hosting and sharing sites.

You must copy the image in the bin folder. Then execute this command:

ffmpeg -loop 1 -i inputimage.jpg -i inputaudio.mp3 -c:v libx264 -c:a –strict experimental -b:a 192k -shortest outputfile.mp4

5. Cut Video File into a Smaller Clip

The -ss defines the starting time stamp (here starting time is the 45th second) and -t tells the total time duration for the clip. So, -t 40 means 40 second duration. The command should like this:

ffmpeg -i yourvideoname.mp4 -ss 00:00:45 -codec copy -t 40 outputclip.mp4

6. Split a Video File into Multiple Parts

Most of the hosting servers only allows for a specific size of file to be uploaded. To overcome this issue, you can use the split command to split a large video file into smaller parts, which is:

ffmpeg -i yourvideoname.mp4 -t 00:00:59 -c copy part1.mp4 -ss 00:00:59 -codec copy part2.mp4

Here -t 00:00:59 represents a part that is created from the start of the video to the 59th second of video. -ss 00:00:59 shows the starting time stamp for the video. It means that the 2nd part will start from the 59th second and will continue up to the end of the original video file.

7. Convert a Video File from One Format to Another Format

You can see all of the formats supported by FFmpeg by using the following command:

ffmpeg -formats

To convert a video file from one format to another format, the following command is used:

ffmpeg -i yourvideoname.mp4 -c:v libx264 outputfilename.wmv

The command below is an example of when converting a .mp4 file into a .wmv file.

8. Join (merge) Video Files

FFmpeg can also join multiple video or audio files with the same codecs. Create a .txt file including a list of all the input video files that are supposed to be merged. The keyword file is followed by name, path and the format of the video files. Add all of the files in the same way in the created .txt file and save this .txt file in the bin folder.

Now type the following command to join the video files:

ffmpeg -f concat -i file-list.txt -c copy outputfile.mp4

9. Cropping an Audio File

To crop part of an audio file, the following command can be utilized:

ffmpeg -ss 00:00:15 -t 45 -i sampleaudio.mp3 croppedaudio.mp3

Here, -ss 00:00:15 is the staring time and -t 45 is the duration of the cropped file.


We’ve covered downloading and installing FFmpeg as well as some of the useful commands that you can use. You can explore the rest of the commands via the help option of FFmpeg. Just type in ffmpeg -h in command line. This will list all the available options and commands for these options. So why don’t you try it out for yourself?

China’s Xiaomi becomes world’s third biggest smartphone maker without leaving Asia

Over the past three months, more than 327 million new smartphones were shipped out from factories around the world, and young Chinese company Xiaomi has been responsible for more than 5 percent of them. That, according to IDC’s latest figures, is enough to place it in third spot behind established leaders Samsung and Apple, overshadowing global competitors like Lenovo and LG. Xiaomi’s rise has been remarkable both for how quick it has been and for the fact that the company still operates primarily in its home market of China. It has recently broadened its reach to adjacent countries in Southeast Asia like India and Singapore, but its growth remains testament to the incredible explosion in smartphone demand that China is experiencing.

Continue reading…

The Verge – All Posts

Amigos Playing Cards: Three beautifully designed decks featuring cats and astronauts exclusively available through Kickstarter

Amigos Playing Cards

After initially planning to start a fundraiser to support the creation of an online card playing club, web- and iOS-focused creative group Fictive Kin decided to center their campaign on…

Continue Reading…

Cool Hunting

A collection of the best fonts for grungy designs

first image of the post
One of the factors affecting the beauty of your design is the fonts. That is why you should be very careful while choosing the fonts. If you wonder which type of font best suits for your grungy designs, then here we have 10 awesome examples. Check it out below! 1. Microbrew Microbrew is a versatile […]

The post A collection of the best fonts for grungy designs appeared first on Design daily news.

Download the free transport icons package now!

Design daily news

Mbstring and PHP Must Use in Web Application Development

Bytes and Bits are two units for storing logical information. A bit is can be thought as one hole, which can be filled with one of two values: 0 or 1.

Mbstring and PHP Must Use in Web Application Development

A byte is a grouping of eight bits. In terms of math, a byte is capable of representing 256 different values (28).

Let’s think about a language, say English. It has some characters (a, b, c, … etc.) which are represented in a computer by bytes. The total number of characters in English is not more than 256, so every character can be represented by using a different 8-bit sequence.

Bytes and Bits

Strings are simply a collection of characters. Normally in PHP string operations operate on strings of single-byte character. For example: you may want to compare the strings “Hello” and “Hi”. With strcmpr(), the two strings will be compared assuming each every character in the string takes one byte.

But think about a language which has more than 256 characters (for example Japanese), or when we want to represent characters from multiple languages at the same time. One byte storage for each character is not enough. This is where the multi-byte concept comes in.

A string of Japanese text may cause the strcmpr() function to return a wrong or garbage value since the assumption that one byte represents one character no longer holds true. When we work with multibyte-encoded strings, the manipulation of these strings needs special functions rather than the common single-byte string functions. To deal with multi byte strings in PHP, mbstring provides the multi byte specific string functions.

Understanding UTF-8

UTF stands for Unicode Transformation Format and is an encoding system that aims to represent every character in every language in one character set. There are different versions of UTF, some of which are shown below:

Encoding Format Description
UTF- 1 Compatible with ISO-2022, obsolete from the Unicode Standard.
UTF-7 7-bit encoding system, mainly was used in e-mail but not part of the Unicode standard.
UTF-8 8-bit encoding system, variable-width, and is ASCII-compatible.
UTF-EBCDIC 8-bit encoding system, variable-width, and is EBCDIC-compatible.
UTF-16 16-bit encoding system, variable width.
UTF-32 32-bit encoding system, fixed-width.

We find ourselves using UTF-8 most of the time when working with multibyte text, so let’s focus on that for a moment. UTF-8 encodes characters in multiple bytes using the following scheme:

Design of UTF-8

So, how does it know whether it a character is stored in one byte or multiple bytes? For this it looks at the high-order bit of the first byte.

Code Meaning
0xxxxxxx A Single byte code
110xxxxx One more byte follows this byte
1110xxxx Two more byte follows this byte
11110xxx Three more byte follows this byte
111110xx Four more byte follows this byte
1111110x Five more byte follows this byte
10xxxxxx Continuation of multi byte character

Each continued byte in a multiple-byte sequence then starts with 1 and 0 in its two most high-order bits to provide a way to detect corrupt data.

Multibyte Equivalents of Common String Functions

For commonly used string functions, like strlen(), strops(), and substr(), there are multibyte equivalent functions. You should use the equivalent functions when working with multibyte strings.

Table 4: Single byte equivalent multi byte string functions

Single byte Multibyte Description
strlen() mb_strlen() Get string length
strpos() mb_strpos() Find position of first occurrence of string in a string
substr() mb_substr() Return part of a string
strtolower() mb_strtolower() Make a string lowercase
strtoupper() mb_strtoupper() Make a string uppercase
substr_count() mb_substr_count() Count the number of substring occurrences
split() mb_split() Split string into array by regular expression
mail() mb_send_mail() Send encoded mail
ereg() mb_ereg() Regular expression match
eregi() mb_eregi() Case insensitive regular expression match
Let me give an example of using multibyte function:
  • Function name: int mb_strlen ( string $ str [, string $ encoding ] )
  • Description: Get the string length.
  • Parameters: str (input string of which length should be determined)

    encoding (Character encoding)

  • Return Value: Number of character of the input string str with character encoding encoding
  • Return type: int

Example Code: Here is an example code of how to use mb_strlen function. Here input string is a Chinese word and three different character encoding options are used.

$   str =”大大”;
echo mb_strlen ( $   str , 'utf8' ). 
echo mb_strlen ( $   str , ‘gbk’ ). 
echo mb_strlen ( $   str , ' gb2312').

Constraints: UTF-8 has some constraints, like-

  • Theoretically UTF-8 encoded characters’ highest length is six bytes.
  • 0xFE and 0xFF are never used in this encoding.

Enable mbstring from php.ini:

  • Confirm existence of php_mbstring.dll in ext folder.
  • Uncomment ;extension=php_mbstring.dll from php.ini (i.e extension=php_mbstring.dll)
  • Restart Server.

Runtime Configuration: To enable some mbstring functions, some more setting should be changed.

Table 5: Configurations in php.ini

Name Default Value Changable Option
mbstring.language neutral PHP_INI_SYSTEM | PHP_INI_PERDIR
mbstring.detect_order NULL PHP_INI_ALL
mbstring.http_input pass PHP_INI_ALL
mbstring.http_output pass PHP_INI_ALL
mbstring.internal_encoding NULL PHP_INI_ALL
mbstring.script_encoding NULL PHP_INI_ALL
mbstring.substitute_character NULL PHP_INI_ALL
mbstring.func_overload 0 PHP_INI_SYSTEM | PHP_INI_PERDIR
mbstring.encoding_translation 0 PHP_INI_SYSTEM | PHP_INI_PERDIR

Explanation of the configuration options:

The “Changeable option” determines the changeable mode value. It describes how and from where the mbstring options can be changed. Here goes the meaning for the mode values:

Table 6: Different change mode

Mode Meaning
PHP_INI_SYSTEM We can set the entry using php.ini or httpd.conf
PHP_INI_PERDIR We can set the entry using php.ini, .htaccess, httpd.conf or .user.ini
PHP_INI_ALL We can set the entry from anywhere
PHP_INI_USER We can set the entry using user script.

How to change from user script:

We can use the following code to set internal encoding of mbstring from user script:

ini_set('mbstring.internal_encoding', 'UTF-8');

How to change from php.ini:

We can edit php.ini file to set some mbstring options.

; Set default language
mbstring.language = Neutral; Set default language to Neutral(UTF-8) (default)
mbstring.language = English; Set default language to English 

; Enabled HTTP input encoding translation.
mbstring.encoding_translation = On

; Set default HTTP input character encoding

mbstring.http_input = pass ; No conversion. 
mbstring.http_input = auto ; Set HTTP input to auto
Some issues related to mbstring:

Using mbstring functions sometimes may cause some harassment to you. I will discuss here some problems of using multibyte function overload. Let us think a scenario.

You have enabled mbstring.func_overload option in your php.ini file. Your work is going fine. You are overloading single byte string function by multi byte string functions. But what will happen if you need an external library which frequently uses some string function?

There is a solution of this problem. You can use mbstring.internal_coding. When you call some external library, it will use single byte encoding and when back to your project, multibytes encoding will be implemented. But what happen if there is a callback between your project and external library? It fails here.

So, you have to keep in mind these issues while using mbstring options.

Importance of mbstring for web development:

To develop any international web application, use of mbstring is a must. Otherwise your application will be limited to some certain nations and languages. As a developer, I suggest you to get some knowledge on this domain and make yourself efficient as a web programmer.

Visit us at